Spring Cloud Vault AppId身份验证

2024-01-03 17:15 更新

Vault支持 由两个难以猜测的令牌组成的AppId身份验证。AppId默认为静态配置的spring.application.name 第二个令牌是UserId,它是应用程序确定的一部分,通常与运行时环境有关。IP地址,Mac地址或Docker容器名称就是很好的例子。Spring Cloud Vault配置支持IP地址,Mac地址和静态UserId(例如,通过系统属性提供)。IP和Mac地址表示为十六进制编码的SHA256哈希。

基于IP地址的UserId使用本地主机的IP地址。

示例10.2 bootstrap.yml使用SHA256 IP地址用户ID

spring.cloud.vault:
    authentication: APPID
    app-id:
        user-id: IP_ADDRESS

  • authentication将此值设置为APPID会选择AppId身份验证方法
  • app-id-path设置要使用的AppId安装的路径
  • user-id设置UserId方法。可能的值为IP_ADDRESSMAC_ADDRESS或实现自定义AppIdUserIdMechanism的类名

从命令行生成IP地址UserId的相应命令是:

$ echo -n 192.168.99.1 | sha256sum

包含echo的换行符会导致不同的哈希值,因此请确保包含-n标志。

基于Mac地址的UserId从本地主机绑定的设备获取其网络设备。该配置还允许指定network-interface提示以选择正确的设备。network-interface的值是可选的,可以是接口名称或接口索引(从0开始)。

示例102.3 bootstrap.yml使用SHA256 Mac-Address用户ID

spring.cloud.vault:
    authentication: APPID
    app-id:
        user-id: MAC_ADDRESS
        network-interface: eth0

  • network-interface设置网络接口以获取物理地址

从命令行生成IP地址UserId的相应命令是:

$ echo -n 0AFEDE1234AC | sha256sum
Mac地址指定为大写且没有冒号。包括echo的换行符会导致不同的哈希值,因此请确保包含-n标志。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号