Java 弹簧启动执行器-端点敏感性与安全启用

Java 弹簧启动执行器-端点敏感性与安全启用,java,spring,spring-boot,spring-boot-actuator,Java,Spring,Spring Boot,Spring Boot Actuator,我一直在阅读spring boot actuator,很难区分两个application.properties设置 endpoints.sensitivevsmanagement.security.enabled 我想自定义执行器端点的访问规则。我可以使用endpoints.sensitive属性控制所有。我的理解是,敏感端点需要授权。我还可以通过management.security.enabled属性访问端点 灵敏度控制和安全启用之间有什么区别 在执行器端点的上下文中,“敏感”意味着类似“可

我一直在阅读spring boot actuator,很难区分两个application.properties设置

endpoints.sensitive
vs
management.security.enabled

我想自定义执行器端点的访问规则。我可以使用
endpoints.sensitive
属性控制所有。我的理解是,敏感端点需要授权。我还可以通过
management.security.enabled
属性访问端点


灵敏度控制和安全启用之间有什么区别

在执行器端点的上下文中,“敏感”意味着类似“可能会发出敏感信息”,因此暗示需要进行身份验证。因此,如果设置
endpoints.sensitive=true
,则
management.security.enabled
也将为true。相反,如果设置
management.security.enabled=false
,则端点隐式不敏感

Springs文档提供了一个简洁的表格,列出了可能的选择:

management.security.enabled | endpoints.health.sensitive |Unauthenticated |Authenticated (with right role)
--------------------------- | -------------------------- |--------------- |--------------------------------
false                       | *                          | Full content   | Full content
true                        | false                      | Status only    | Full content
true                        | true                       | No content     | Full content

谢谢你的回答和反馈。我还是有点困惑,它们是相互排斥的吗?我不认为它们是相互排斥的。如果您设置了
endpoints.sensitive=true
,那么您就是在隐式设置
management.security.enabled=true
,因为“管理安全性”是提供端点安全性的手段。明白了,您提供的表也说明了这一点。它不仅仅是一个布尔状态,因为可能存在部分数据暴露(例如健康端点)。是的,
端点。敏感的
实际上可以是
端点。X.sensitive
其中
X
是一个端点名称,如健康、信息等。请注意:选项“sensitive”似乎来自Spring 1.X(),在Spring2.x中,这个概念发生了变化