Amazon EKS アドオンの IAM ロール - Amazon EKS

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

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

Amazon EKS アドオンの IAM ロール

特定の Amazon EKS アドオンでは、AWS API を呼び出す IAM ロールおよび許可が必要です。例えば、Amazon VPC CNI アドオンは特定の AWS API を呼び出して、アカウント内のネットワークリソースを設定します。これらのアドオンには、 IAM を使用してアクセス許可を付与する必要があります。具体的には、アドオンを実行しているポッドのサービスアカウントを、特定の IAM ポリシーを持つ IAM ロールに関連付ける必要があります。

クラスターワークロードに AWS アクセス許可を付与する際の推奨方法は、Amazon EKS 機能 Pod Identity を使用することです。Pod Identity の関連付けを使用して、アドオンのサービスアカウントを IAM ロールにマッピングできます。ポッドが関連付けられたサービスアカウントを使用する場合、Amazon EKS はポッドのコンテナに環境変数を設定します。環境変数は、AWS CLI を含む AWS SDK が EKS Pod Identity の認証情報を使用するように設定します。詳細については、「EKS Pod Identity がポッドに AWS サービスへのアクセス権を付与する方法を学ぶ」を参照してください。

Amazon EKS アドオンは、アドオンに対応する Pod Identity の関連付けのライフサイクルを管理するのに役立ちます。例えば、Amazon EKS アドオンと必要な Pod Identity の関連付けを 1 回の API コールで作成または更新できます。Amazon EKS には、推奨される IAM ポリシーを取得するための API も用意されています。

推奨される使用法:
  1. Amazon EKS Pod Identity エージェントがクラスターで設定されていることを確認します。

  2. インストールするアドオンに、describe-addon-versions AWS CLI オペレーションを使用して IAM アクセス許可が必要かどうかを確認します。requiresIamPermissions フラグが true の場合、describe-addon-configurations オペレーションを使用してアドオンに必要なアクセス許可を決定する必要があります。レスポンスには、推奨されるマネージド IAM ポリシーのリストが含まれます。

  3. describe-addon-configuration CLI オペレーションを使用して、Kubernetes サービスアカウントの名前と IAM ポリシーを取得します。提案されたポリシーの範囲をセキュリティ要件に照らして評価します。

  4. 提案されたアクセス許可ポリシーと Pod Identity に必要な信頼ポリシーを使用して IAM ロールを作成します。詳細については、「EKS Pod Identity の関連付けの作成」を参照してください。

  5. CLI を使用して Amazon EKS アドオンを作成または更新します。少なくとも 1 つの Pod Identity の関連付けを指定します。Pod Identity の関連付けは、Kubernetes サービスアカウントの名前、および IAM ロールの ARN です。

考慮事項:
  • アドオン API を使用して作成された Pod Identity の関連付けは、それぞれのアドオンによって所有されます。アドオンを削除すると、Pod Identity の関連付けも削除されます。AWS CLI または API を使用してアドオンを削除するときに、preserve オプションを使用してこのカスケード削除を防ぐことができます。必要に応じて、Pod Identity の関連付けを直接更新または削除することもできます。アドオンは、既存の Pod Identity の関連付けの所有権を引き受けることはできません。既存の関連付けを削除し、アドオンの作成または更新オペレーションを使用して再作成する必要があります。

  • Amazon EKS では、Pod Identity の関連付けを使用してアドオンの IAM アクセス許可を管理することをお勧めします。前の方法であるサービスアカウント (IRSA) の IAM ロールは引き続きサポートされています。アドオンの IRSA serviceAccountRoleArn と Pod Identity の関連付けの両方を指定できます。EKS Pod Identity エージェントがクラスターにインストールされている場合、serviceAccountRoleArn は無視され、EKS は指定された Pod Identity の関連付けを使用します。Pod Identity が有効になっていない場合、serviceAccountRoleArn が使用されます。

  • 既存のアドオンの Pod Identity の関連付けを更新すると、Amazon EKS はアドオンポッドのローリング再起動を開始します。