既存の aws-auth ConfigMap エントリをアクセスエントリに移行する - Amazon EKS

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

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

既存の aws-auth ConfigMap エントリをアクセスエントリに移行する

クラスター上の aws-auth ConfigMap にエントリを追加した場合は、aws-auth ConfigMap 内の既存のエントリのアクセスエントリを作成することをお勧めします。アクセスエントリを作成したら、そのエントリを ConfigMap から削除できます。aws-authConfigMap のエントリにアクセスポリシーを関連付けることはできません。アクセスポリシーを IAM プリンシパルに関連付けるには、アクセスエントリを作成します。

重要
  • クラスターが API_AND_CONFIGMAP 認証モードで、aws-auth ConfigMap およびアクセスエントリの両方に同じ IAMロールのマッピングがある場合、ロールによってアクセスエントリのマッピングが認証に使用されます。アクセスエントリは、同じ IAM プリンシパルの ConfigMap エントリよりも優先されます。

  • マネージドノードグループまたは Fargate プロファイル用に Amazon EKS によってお使いのクラスターに作成された既存の aws-auth ConfigMap エントリを削除する際は、事前にそれらの特定リソースの正しいアクセスエントリが Amazon EKS クラスターに存在するかどうかを再確認してください。同等のアクセスエントリがない状態で Amazon EKS が ConfigMap で作成したエントリを削除した場合、クラスターが正しく機能しません。

前提条件

eksctl

  1. 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
  2. 前の出力で返された作成済み ConfigMap エントリのいずれかへの アクセスエントリを作成する。アクセスエントリを作成するときは、出力で返されるARNUSERNAMEGROUPS および ACCOUNT と同じ値を指定してください。出力例では、最後の 2 つのエントリを除くすべてのエントリのアクセスエントリを作成します。これらのエントリは Fargate プロファイルとマネージド型ノードグループ用に Amazon EKS によって作成されたものだからです。

  3. 作成したすべてのアクセスエントリのエントリを ConfigMap から削除します。ConfigMap からエントリを削除しない場合、IAM プリンシパル ARN のアクセスエントリの設定によって ConfigMap エントリが上書きされます。111122223333 は AWS アカウント ID に、EKS-my-cluster-my-namespace-Viewers は、ConfigMap のエントリに含まれるロールの名前に置き換えます。削除するエントリが IAM ロールではなく IAM ユーザー用のものである場合は、roleuser に、EKS-my-cluster-my-namespace-Viewers をユーザー名に置き換えます。

    eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster