Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

アクセスポリシーをアクセスエントリに関連付ける

フォーカスモード
アクセスポリシーをアクセスエントリに関連付ける - Amazon EKS

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

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

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

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

1 つ以上のアクセスポリシーを タイプ STANDARD のアクセスエントリに割り当てることができます。Amazon EKS は、クラスターで正しく機能するために必要なアクセス許可を他のタイプのアクセスエントリに自動的に付与します。Amazon EKS アクセスポリシーには、IAM アクセス許可ではなく Kubernetes アクセス許可が含まれます。アクセスポリシーをアクセスエントリに関連付ける前に、各アクセスポリシーに含まれる Kubernetes アクセス許可を既に理解できていることを確かめてください。詳細については「アクセスポリシーアクセス許可を確認する」を参照してください。どのアクセスポリシーも要件を満たさない場合は、アクセスポリシーをアクセスエントリに関連付けないでください。代わりに、アクセスエントリに 1 つ以上のグループ名を指定し、Kubernetes ロールベースのアクセス制御オブジェクトを作成して管理します。詳細については「アクセスエントリを作成する」を参照してください。

  • 既存のアクセスエントリ。作成する場合は「アクセスエントリを作成する」を参照してください。

  • ListAccessEntriesDescribeAccessEntryUpdateAccessEntryListAccessPoliciesAssociateAccessPolicy、および DisassociateAccessPolicy のアクセス許可を持つ AWS Identity and Access Management ロールまたはユーザー。詳細については、「サービス認証リファレンス」の「Actions defined by Amazon Elastic Kubernetes Service」を参照してください。

アクセスポリシーをアクセスエントリに関連付ける前に、以下の要件を考慮してください。

  • 各アクセスエントリには複数のアクセスポリシーを関連付けることができますが、各ポリシーを 1 つのアクセスエントリに関連付けることができるのは 1 回だけです。複数のアクセスポリシーを関連付ける場合、アクセスエントリの IAM プリンシパルには、関連するすべてのアクセスポリシーに含まれるすべてのアクセス許可が付与されます。

  • アクセスポリシーをクラスター上のすべてのリソースに範囲指定することも、1 つ以上の Kubernetes 名前空間の名前を指定して範囲指定することもできます。名前空間の名前にはワイルドカード文字を使用できます。例えば、dev- で始まるすべての名前空間にアクセスポリシーを適用する場合は、名前空間の名前として dev-* を指定できます。名前空間がクラスターに存在し、スペルがクラスター上の実際の名前空間の名前と一致していることを確認してください。Amazon EKS は、クラスター上の名前空間のスペルや存在を確認しません。

  • アクセスポリシーをアクセスエントリに関連付けた後、アクセスポリシーのアクセス範囲を変更できます。アクセスポリシーの範囲を Kubernetes 名前空間に設定した場合は、必要に応じて関連付けの名前空間を追加および削除できます。

  • グループ名も指定されているアクセスエントリにアクセスポリシーを関連付けると、IAM プリンシパルには、関連するすべてのアクセスポリシーのすべてのアクセス許可が付与されます。また、グループ名を指定する Kubernetes Role および RoleBinding オブジェクトで指定されている Kubernetes Role または ClusterRole オブジェクトのすべてのアクセス許可も保持されます。

  • kubectl auth can-i --list コマンドを実行しても、コマンドを実行したときに使用している IAM プリンシパルのアクセスエントリに関連付けられているアクセスポリシーによって割り当てられた Kubernetes アクセス許可は表示されません。このコマンドは、アクセスエントリに指定したグループ名またはユーザー名にバインドした Kubernetes Role または ClusterRole オブジェクトでアクセス許可を付与した場合にのみ、Kubernetes アクセス許可を表示します。

  • --as username または --as-group group-name kubectl コマンドを使用するなど、クラスター上の Kubernetes オブジェクトを操作する際に Kubernetes ユーザーまたはグループになりすますと、Kubernetes RBAC 認可の使用を強制することになります。その結果、IAM プリンシパルには、アクセスエントリに関連付けられたアクセスポリシーによって割り当てられるアクセス許可はありません。IAM プリンシパルを偽装するユーザーまたはグループが持つ Kubernetes アクセス許可は、グループ名またはユーザー名にバインドした Kubernetes Role または ClusterRole オブジェクトで付与した Kubernetes アクセス許可だけです。IAM プリンシパルが関連するアクセスポリシー内のアクセス許可を持つようにするには、Kubernetes ユーザーまたはグループを偽装しないでください。IAM プリンシパルには、アクセスエントリに指定したグループ名またはユーザー名にバインドした Kubernetes Role または ClusterRole オブジェクトで付与したアクセス許可も引き続き保持されます。詳細については、Kubernetes ドキュメントの「ユーザーの偽装」を参照してください。

AWS Management Console または AWS CLI を使用してアクセスポリシーをアクセスエントリに関連付けることができます。

AWS Management Console

  1. Amazon EKS コンソールを開きます。

  2. アクセスポリシーを関連付けるアクセスエントリがあるクラスターの名前を選択します。

  3. [アクセス] タブを選択します。

  4. アクセスエントリのタイプが標準の場合は、Amazon EKS アクセスポリシーを関連付けたり関連付けを解除したりできます。アクセスエントリのタイプが標準以外の場合、このオプションは使用できません。

  5. [アクセスポリシーを関連付ける] を選択します。

  6. [ポリシー名] には、IAM プリンシパルに付与したいアクセス許可を持つポリシーを選択します。各ポリシーに含まれるアクセス許可を表示するには、「アクセスポリシーアクセス許可を確認する」を参照してください。

  7. [アクセススコープ] では、アクセス範囲を選択します。[クラスター] を選択すると、すべての Kubernetes 名前空間のリソースについて、アクセスポリシー内のアクセス許可が IAM プリンシパルに付与されます。[Kubernetes 名前空間] を選択した場合は、[新しい名前空間の追加] を選択できます。表示される [名前空間] フィールドには、クラスター上の Kubernetes 名前空間の名前を入力できます。IAM プリンシパルに複数の名前空間のアクセス許可を持たせたい場合は、複数の名前空間を入力できます。

  8. [アクセスポリシーを追加] を選択します。

AWS CLI

  1. ご使用のデバイスまたは AWS CloudShell で、バージョン 2.12.3 以降、または AWS コマンドラインインターフェイス (AWS CLI) のバージョン 1.27.160 以降がインストールおよび設定されていること。現在のバージョンを確認するには「aws --version | cut -d / -f2 | cut -d ' ' -f1」を参照してください。yumapt-get、macOS 用の Homebrew などのパッケージマネージャーは、多くの場合 AWS CLI の最新バージョンより数バージョン古くなっています。最新バージョンをインストールするには「AWS コマンドラインインターフェイスユーザーガイド」の「インストール」および「aws configure を使用したクイック設定」を参照してください。AWS クラウドシェル にインストールされている AWS CLI バージョンも最新バージョンより数バージョン遅れることがあります。更新するには、「AWS CloudShell ユーザーガイド」の「ホームディレクトリへの AWS CLI のインストール」を参照してください。

  2. 利用可能なアクセスポリシーを表示します。

    aws eks list-access-policies --output table

    出力例は次のとおりです。

    --------------------------------------------------------------------------------------------------------- | ListAccessPolicies | +-------------------------------------------------------------------------------------------------------+ || accessPolicies || |+---------------------------------------------------------------------+-------------------------------+| || arn | name || |+---------------------------------------------------------------------+-------------------------------+| || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSAdminPolicy | AmazonEKSAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy | AmazonEKSClusterAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSEditPolicy | AmazonEKSEditPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSViewPolicy | AmazonEKSViewPolicy || |+---------------------------------------------------------------------+-------------------------------+|

    各ポリシーに含まれるアクセス許可を表示するには、「アクセスポリシーアクセス許可を確認する」を参照してください。

  3. 既存のアクセスエントリを表示します。マイクラスター の部分は自分のクラスター名に置き換えます。

    aws eks list-access-entries --cluster-name my-cluster

    出力例は次のとおりです。

    { "accessEntries": [ "arn:aws:iam::111122223333:role/my-role", "arn:aws:iam::111122223333:user/my-user" ] }
  4. アクセスポリシーをアクセスエントリに関連付けます。次の例では、AmazonEKSViewPolicy アクセスポリシーをアクセスエントリに関連付けます。my-role IAM ロールがクラスター上の Kubernetes オブジェクトにアクセスしようとするたびに、Amazon EKS は、ポリシー内のアクセス許可を使用して my-namespace1my-namespace2 の Kubernetes 名前空間のみの Kubernetes オブジェクトにアクセスするアクセス許可をロールに付与します。my-cluster をクラスターの名前、111122223333 を AWS アカウント ID に、my-role を Amazon EKS に Kubernetes クラスターオブジェクトへのアクセスを許可してほしい IAM ロールの名前に置き換えます。

    aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws:iam::111122223333:role/my-role \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy

    IAM プリンシパルにクラスター全体のアクセス許可を持たせたい場合は、type=namespace,namespaces=my-namespace1,my-namespace2 type=cluster に置き換えてください。複数のアクセスポリシーをアクセスエントリに関連付ける場合は、それぞれに固有のアクセスポリシーを指定してコマンドを複数回実行します。関連するアクセスポリシーにはそれぞれ独自の範囲があります。

    注記

    関連するアクセスポリシーの範囲を後で変更する場合は、新しい範囲で前のコマンドをもう一度実行してください。例えば、my-namespace2 を削除したい場合は、type=namespace,namespaces=my-namespace1 のみを使用してコマンドを再実行します。範囲を namespace から cluster に変更する場合は、type=cluster を使用して type=namespace,namespaces=my-namespace1,my-namespace2 を削除してコマンドを再実行します。

  5. どのアクセスポリシーをアクセスエントリに関連付けるかを決定します。

    aws eks list-associated-access-policies --cluster-name my-cluster --principal-arn arn:aws:iam::111122223333:role/my-role

    出力例は次のとおりです。

    { "clusterName": "my-cluster", "principalArn": "arn:aws:iam::111122223333", "associatedAccessPolicies": [ { "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy", "accessScope": { "type": "cluster", "namespaces": [] }, "associatedAt": "2023-04-17T15:25:21.675000-04:00", "modifiedAt": "2023-04-17T15:25:21.675000-04:00" }, { "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy", "accessScope": { "type": "namespace", "namespaces": [ "my-namespace1", "my-namespace2" ] }, "associatedAt": "2023-04-17T15:02:06.511000-04:00", "modifiedAt": "2023-04-17T15:02:06.511000-04:00" } ] }

    前の例では、このアクセスエントリの IAM プリンシパルには、クラスター上のすべての名前空間に対する表示アクセス許可と、2 つの Kubernetes 名前空間に対する管理者アクセス許可があります。

  6. アクセスポリシーとアクセスエントリの関連付けを解除します。この例では、AmazonEKSAdminPolicy ポリシーとアクセスエントリの関連付けが解除されます。ただし、IAM プリンシパルは my-namespace1my-namespace2 名前空間のオブジェクトに対する AmazonEKSViewPolicy アクセスポリシー内のアクセス許可を保持します。これは、そのアクセスポリシーがアクセスエントリとの関連付けを解除されていないためです。

    aws eks disassociate-access-policy --cluster-name my-cluster --principal-arn arn:aws:iam::111122223333:role/my-role \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy

利用可能なアクセスポリシーを一覧表示するには、「アクセスポリシーアクセス許可を確認する」を参照してください。

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.