Spring Cloud Vault AWS-IAM身份驗證

2024-01-03 17:36 更新

AWS后端提供了AWS IAM角色的安全認證機制,允許基礎(chǔ)上運行的應(yīng)用程序的當(dāng)前IAM角色具有拱頂?shù)淖詣诱J證。與大多數(shù)Vault身份驗證后端不同,此后端不需要先部署或設(shè)置安全敏感的憑據(jù)(令牌,用戶名/密碼,客戶端證書等)。相反,它將AWS視為受信任的第三方,并使用呼叫者使用其IAM憑據(jù)簽名的4條信息來驗證呼叫者確實在使用該IAM角色。

應(yīng)用程序正在其中運行的當(dāng)前IAM角色是自動計算的。如果您在AWS ECS上運行應(yīng)用程序,則該應(yīng)用程序?qū)⑹褂梅峙浣o正在運行的容器的ECS任務(wù)的IAM角色。如果您在EC2實例上裸身運行應(yīng)用程序,則使用的IAM角色將是分配給EC2實例的角色。

使用AWS-IAM身份驗證時,您必須在Vault中創(chuàng)建一個角色并將其分配給您的IAM角色。空的role默認為當(dāng)前IAM角色的友好名稱。

示例102.11 bootstrap.yml具有必需的AWS-IAM身份驗證屬性

spring.cloud.vault:
    authentication: AWS_IAM

示例102.12 具有所有AWS-IAM身份驗證屬性的bootstrap.yml

spring.cloud.vault:
    authentication: AWS_IAM
    aws-iam:
        role: my-dev-role
        aws-path: aws
        server-id: some.server.name
  • role設(shè)置嘗試進行登錄的角色的名稱。這應(yīng)該與您的IAM角色綁定。如果未提供,則當(dāng)前IAM用戶的友好名稱將用作保管庫角色。
  • aws-path設(shè)置要使用的AWS裝載的路徑
  • server-id設(shè)置用于X-Vault-AWS-IAM-Server-ID標頭的值,以防止某些類型的重放攻擊。

AWS-IAM需要AWS Java SDK依賴項(com.amazonaws:aws-java-sdk-core),因為身份驗證實現(xiàn)將AWS開發(fā)工具包類型用于憑證和請求簽名。

另請參閱:Vault文檔:使用aws auth后端

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號