協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 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
為了確保您使用支援的開發套件,請遵循工具中您偏好的開發套件的安裝說明,在建置容器時建置 AWS
考量事項
Java
使用 Java 時,您必須在 classpath 上包含 sts
模組。如需詳細資訊,請參閱 Java SDK 文件中的 WebIdentityTokenFileCredentialsProvider