Spring Cloud Vault AppId身份驗(yàn)證

2024-01-03 17:15 更新

Vault支持 由兩個(gè)難以猜測(cè)的令牌組成的AppId身份驗(yàn)證。AppId默認(rèn)為靜態(tài)配置的spring.application.name。 第二個(gè)令牌是UserId,它是應(yīng)用程序確定的一部分,通常與運(yùn)行時(shí)環(huán)境有關(guān)。IP地址,Mac地址或Docker容器名稱就是很好的例子。Spring Cloud Vault配置支持IP地址,Mac地址和靜態(tài)UserId(例如,通過系統(tǒng)屬性提供)。IP和Mac地址表示為十六進(jìn)制編碼的SHA256哈希。

基于IP地址的UserId使用本地主機(jī)的IP地址。

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

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

  • authentication將此值設(shè)置為APPID會(huì)選擇AppId身份驗(yàn)證方法
  • app-id-path設(shè)置要使用的AppId安裝的路徑
  • user-id設(shè)置UserId方法。可能的值為IP_ADDRESS,MAC_ADDRESS或?qū)崿F(xiàn)自定義AppIdUserIdMechanism的類名

從命令行生成IP地址UserId的相應(yīng)命令是:

$ echo -n 192.168.99.1 | sha256sum

包含echo的換行符會(huì)導(dǎo)致不同的哈希值,因此請(qǐng)確保包含-n標(biāo)志。

基于Mac地址的UserId從本地主機(jī)綁定的設(shè)備獲取其網(wǎng)絡(luò)設(shè)備。該配置還允許指定network-interface提示以選擇正確的設(shè)備。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設(shè)置網(wǎng)絡(luò)接口以獲取物理地址

從命令行生成IP地址UserId的相應(yīng)命令是:

$ echo -n 0AFEDE1234AC | sha256sum
Mac地址指定為大寫且沒有冒號(hào)。包括echo的換行符會(huì)導(dǎo)致不同的哈希值,因此請(qǐng)確保包含-n標(biāo)志。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)