16.3.2 使用 Actuator 进行认证
在第 15.4 节中,我们讨论了如何使用 HTTP 基本验证,保护 Actuator 端点。这样做,就可以把所有不知道密码的人挡在门外。不幸的是,这也意味着 Admin 服务端也将无法使用 Actuator 端点,除非它知道用户名和密码。但是 Admin 服务端将如何获得那些凭据呢?
Admin 客户端应用程序,可以向 Admin 服务端提供其凭据。可以直接向 Admin 服务端注册,也可以通过 Eureka 被发现。如果应用程序直接向 Admin 服务端注册,那么它可以在注册时,将其凭据发送到 admin 服务端。您需要配置一些属性来启用该功能。
属性 spring.boot.admin.client.instance.metadata.user.name
和 spring.boot.admin.client.instance.metadata.user.password
指定的凭据信息,Admin 服务端可以用来访问应用程序的 Actuator 端点。下面是 application.yml 中的代码片段,展示了如何设置这些属性:
spring:
boot:
admin:
client:
url: http://localhost:9090
username: admin
password: 53cr3t
必须在每个注册的应用程序中设置用户名和密码属性,它本身与 Admin 服务端连接。且给定的值必须与 Actuator 端点 HTTP 基本身份验证中,所需的用户名和密码匹配。在本例中,它们被设置为 admin 和 password,这是为访问 Actuator 端点所需的凭据。