Spring Cloud Vault AppId身份验证
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_ADDRESS
,MAC_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
标志。
更多建议: