協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 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 Autoscaler
為了確保您使用支援的 SDK,在建立您的容器時,請遵循在 AWS上建立的工具
考量事項
Java
使用 Java 時,您必須在類別路徑上包含 sts 模組。如需詳細資訊,請參閱 Java SDK 文件中的 WebIdentityTokenFileCredentialsProvider