このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
既存の aws-auth ConfigMap エントリをアクセスエントリに移行する
クラスター上の aws-auth ConfigMap にエントリを追加した場合は、aws-auth ConfigMap 内の既存のエントリのアクセスエントリを作成することをお勧めします。アクセスエントリを作成したら、そのエントリを ConfigMap から削除できます。aws-authConfigMap のエントリにアクセスポリシーを関連付けることはできません。アクセスポリシーを IAM プリンシパルに関連付けるには、アクセスエントリを作成します。
重要
-
クラスターが
API_AND_CONFIGMAP認証モードで、aws-authConfigMapおよびアクセスエントリの両方に同じ IAMロールのマッピングがある場合、ロールによってアクセスエントリのマッピングが認証に使用されます。アクセスエントリは、同じ IAM プリンシパルのConfigMapエントリよりも優先されます。 -
マネージドノードグループまたは Fargate プロファイル用に Amazon EKS によってお使いのクラスターに作成された既存の
aws-authConfigMapエントリを削除する際は、事前にそれらの特定リソースの正しいアクセスエントリが Amazon EKS クラスターに存在するかどうかを再確認してください。同等のアクセスエントリがない状態で Amazon EKS がConfigMapで作成したエントリを削除した場合、クラスターが正しく機能しません。
前提条件
-
アクセスエントリとアクセスポリシーに関する知識。詳細については、「EKS アクセスエントリを使用して Kubernetes へのアクセスを IAM ユーザーに許可する」および「アクセスポリシーをアクセスエントリに関連付ける」を参照してください。
-
「EKS アクセスエントリを使用して Kubernetes へのアクセスを IAM ユーザーに許可する」のトピックの前提条件に記載されているバージョンと同じかそれ以降のプラットフォームバージョンの既存のクラスター。
-
デバイスまたは AWS CloudShell にインストールされている
eksctlコマンドラインツールのバージョン0.212.0以降。eksctlをインストールまたはアップグレードするにはeksctlドキュメントの「インストール」を参照してください。 -
kube-system名前空間内のaws-authConfigMapを変更する Kubernetes アクセス許可。 -
CreateAccessEntryおよびListAccessEntriesのアクセス許可を持つ AWS Identity and Access Management ロールまたはユーザー。詳細については、サービス認可リファレンスの「Amazon Elastic Kubernetes Service で定義されるアクション」を参照してください。
eksctl
-
aws-auth ConfigMap内の既存のエントリを表示します。マイクラスターの部分は自分のクラスター名に置き換えます。eksctl get iamidentitymapping --cluster my-cluster出力例は次のとおりです。
ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/EKS-my-cluster-Admins Admins system:masters arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers my-namespace-Viewers Viewers arn:aws:iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws:iam::111122223333:user/my-user my-user arn:aws:iam::111122223333:role/EKS-my-cluster-fargateprofile1 system:node:{{SessionName}} system:bootstrappers,system:nodes,system:node-proxier arn:aws:iam::111122223333:role/EKS-my-cluster-managed-ng system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
-
前の出力で返された作成済み
ConfigMapエントリのいずれかへの アクセスエントリを作成する。アクセスエントリを作成するときは、出力で返されるARN、USERNAME、GROUPSおよびACCOUNTと同じ値を指定してください。出力例では、最後の 2 つのエントリを除くすべてのエントリのアクセスエントリを作成します。これらのエントリは Fargate プロファイルとマネージド型ノードグループ用に Amazon EKS によって作成されたものだからです。 -
作成したすべてのアクセスエントリのエントリを
ConfigMapから削除します。ConfigMapからエントリを削除しない場合、IAM プリンシパル ARN のアクセスエントリの設定によってConfigMapエントリが上書きされます。111122223333は AWS アカウント ID に、EKS-my-cluster-my-namespace-Viewersは、ConfigMapのエントリに含まれるロールの名前に置き換えます。削除するエントリが IAM ロールではなく IAM ユーザー用のものである場合は、roleをuserに、EKS-my-cluster-my-namespace-Viewersをユーザー名に置き換えます。eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster