View a markdown version of this page

搭配 AWS SDK 使用 IRSA - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配 AWS SDK 使用 IRSA

使用憑證

若要針對服務帳戶 (IRSA) 使用來自 IAM 角色的登入資料,您的程式碼可以使用任何 AWS SDK 來透過 SDK 為 AWS 服務建立用戶端,並根據預設,軟體開發套件會在位置鏈中搜尋要使用的 AWS Identity and Access Management 登入資料。如果您在建立用戶端或初始化 SDK 時未指定登入資料提供者,則會使用服務帳戶登入資料的 IAM 角色。

這樣是有效的,因為服務帳戶的 IAM 角色已新增為預設憑證鏈中的一個步驟。如果您的工作負載目前使用登入資料鏈中較早的登入資料,即使您為相同工作負載的服務帳戶設定 IAM 角色,這些登入資料仍會繼續使用。

軟體開發套件會使用 AssumeRoleWithWebIdentity動作,自動交換服務帳戶 OIDC 字符,以取得來自 AWS Security Token Service 的臨時憑證。Amazon EKS 和此 SDK 動作會繼續輪換臨時憑證,方法是在臨時憑證到期前進行更新。

IAM 角色用於服務帳戶時,Pod 中的容器必須使用支援透過 OpenID Connect Web 身分字符檔案擔任 IAM 角色的 AWS SDK 版本。請確定您使用 SDK 的下列版本 或更新版本 AWS :

許多熱門的 Kubernetes 附加元件,例如 Cluster AutoscalerRoute Internet traffic with AWS Load Balancer ControllerAmazon VPC CNI plugin for Kubernetes 支援服務帳戶的 IAM 角色。

為了確保您使用支援的 SDK,在建立您的容器時,請遵循在 AWS上建立的工具中您偏好之 SDK 的安裝指示。

考量事項

Java

使用 Java 時,您必須在類別路徑上包含 sts 模組。如需詳細資訊,請參閱 Java SDK 文件中的 WebIdentityTokenFileCredentialsProvider