サポートされる AWS SDK の使用 - Amazon EKS

このページの改善にご協力ください

本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

サポートされる AWS SDK の使用

サービスアカウントの IAM ロール を使用すると、Pods 内のコンテナは、OpenID Connect ウェブ ID トークンファイルを介した IAM ロールの引き受けをサポートする AWS SDK バージョンを使用する必要があります。お使いの AWS SDK には、必ず次のバージョン以降を使用してください。

Cluster AutoscalerAWS Load Balancer Controller とは および Amazon VPC CNI plugin for Kubernetes などの一般的な Kubernetes アドオンの多くは、サービスアカウントの IAM ロールをサポートしています。

サポートされている SDK を使用していることを確認するには、コンテナを構築する際に、「AWS での構築ツール」で、希望する SDK のインストール手順に従ってください。

認証情報の使用

サービスアカウントの IAM ロールの認証情報を使用するには、コードで任意の AWS SDK を使用して SDK を含む AWS サービスのクライアントを作成できます。デフォルトでは、SDK は使用する AWS Identity and Access Management 認証情報を一連の場所で検索します。クライアントの作成時や SDK の初期化時に認証情報プロバイダーを指定しなかった場合は、サービスアカウントの認証情報用の IAM ロールが使用されます。

これがうまくいくのは、サービスアカウント用の IAM ロールがデフォルトの認証情報チェーンのステップとして追加されたからです。現在、ワークロードが認証情報チェーンの前にある認証情報を使用している場合は、同じワークロードのサービスアカウントに IAM ロールを設定しても、その認証情報は引き続き使用されます。

SDK は、AssumeRoleWithWebIdentity アクションを使用してサービスアカウント OIDC トークンを AWS Security Token Service からの一時的な認証情報と自動的に交換します。Amazon EKS とこの SDK アクションは、有効期限が切れる前に一時認証情報を更新することで、引き続きローテーションを行います。