本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 AWS 身分聯合到外部服務
IAM 傳出聯合身分可讓您的 AWS 工作負載安全地存取外部服務,而無需存放長期憑證。您的 AWS 工作負載可以呼叫 GetWebIdentityToken API,向 AWS Security Token Service () 請求短期 JSON Web Token JWTs AWS STS)。這些字符以密碼編譯方式簽署,可公開驗證,並包含一組完整的宣告,可向外部服務宣告 AWS 工作負載的身分。您可以搭配各種第三方雲端提供者、SaaS 平台和自我託管應用程式使用這些字符。外部服務會使用在已知端點發佈 AWS的驗證金鑰來驗證字符的真偽,並使用字符中的資訊進行身分驗證和授權決策。
傳出聯合身分不需要在應用程式程式碼或環境變數中存放長期登入資料,例如 API 金鑰或密碼,可改善您的安全狀態。您可以使用 IAM 政策控制權杖產生和強制執行權杖屬性的存取,例如簽署演算法、允許的對象和持續時間。所有字符請求都會登入 AWS ,為安全性監控和合規報告提供完整的稽核線索。您也可以使用顯示為自訂宣告的標籤來自訂權杖,讓外部服務實作精細的屬性型存取控制。
常用案例
使用傳出聯合身分,您的 AWS 工作負載可以安全地:
-
存取外部雲端提供者中的資源和服務。例如,Lambda 函數處理資料可以將結果寫入外部雲端提供者的儲存服務,或查詢其資料庫。
-
與外部software-as-a-service(SaaS) 供應商整合,用於分析、資料處理、監控等。例如,您的 Lambda 函數可以將指標傳送至可觀測性平台。
-
使用託管在 AWS外部雲端提供者或內部部署資料中心上的應用程式進行驗證,以啟用安全的混合和多雲端架構。例如,您的 AWS 工作負載可以與內部部署 Kubernetes 叢集中執行的容器化應用程式互動。
運作方式
-
Lambda 函數會呼叫 GetWebIdentityToken API,向 AWS Security Token Service () 請求 JSON Web Token (JWT)AWS STS。
-
AWS STS 會驗證請求,並將已簽署的 JWT 傳回 Lambda 函數。
-
Lambda 函數會將 JWT 傳送至外部服務。
-
外部服務會從權杖擷取發行者 URL、驗證是否符合已知信任的發行者,以及從 OIDC 探索端點擷取 AWS驗證金鑰和中繼資料。
-
外部服務使用驗證金鑰來驗證字符的簽章,並驗證過期時間、主旨和對象等宣告。
-
驗證成功後,外部服務會授予 Lambda 函數的存取權。