Spring Boot Actuator - включить одиночную конечную точку

Существует разница в реализации двух версий Spring Boot Actuator (1.2.5 и 1.3.0) в HealthMvcEndpoint, метод isUnrestricted () (&& и ||). Я понимаю, что это сделано для сохранения этих ограничений

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-health-access-restrictions

Но есть ли сейчас какое-либо решение, позволяющее включить только одну конечную точку (например, Health) без ограничений с полным контентом, не подвергая опасности все остальные? Отключение management.security.enabled просто делает все конечные точки доступными без аутентификации (?) - не похоже, что это влияет на чувствительность конечных точек.


person Sus    schedule 01.04.2016    source источник
comment
Вы хотите отключить все конечные точки, кроме одной, или хотите, чтобы все они были включены, но разрешить неограниченный доступ к одной конечной точке?   -  person Andy Wilkinson    schedule 02.04.2016
comment
Мне было интересно, можно ли сохранить исходное поведение конечных точек и сделать одну из них доступной с неограниченным доступом. Я могу просто переопределить HealthMvcEndpoint, но дело не в этом.   -  person Sus    schedule 02.04.2016


Ответы (3)


Мне удалось частично решить эту проблему, в первую очередь отключив все конечные точки с помощью endpoints.enabled = false с отключением их безопасности management.security.enabled = false
и включив те, которые я хотел без безопасности - например, конечные точки работоспособности endpoints.health.enabled = true и endpoints.health.sensitive = false.

person Sus    schedule 02.04.2016

С приводом 2 эти свойства были изменены.

Чтобы отключить все конечные точки привода, используйте

management.endpoints.enabled-by-default=false

Чтобы включить конкретную конечную точку, используйте свойство management.endpoint.<id>.enabled. В следующем примере включается конечная точка выключения:

management.endpoint.shutdown.enabled=true

Официальная документация

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html.

person Dhruv Bansal    schedule 11.04.2020
comment
Кроме того, мне нужно было открыть конечные точки, например, management.endpoints.web.exposure.include=shutdown. - person Nexonus; 07.01.2021

Включение определенных конечных точек

Во-первых, нам нужно отключить значение по умолчанию, которое включает все конечные точки:

management.endpoints.enabled-by-default = false

Затем давайте включим и предоставим только конечную точку / health:

management.endpoint.health.enabled = true
management.endpoints.web.exposure.include = health

С этой конфигурацией мы можем получить доступ только к конечной точке / health.

person Emerson Micu    schedule 19.06.2021