AWS CLI で Kubernetes グループを使用してアクセスエントリを作成する - Amazon EKS

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

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

AWS CLI で Kubernetes グループを使用してアクセスエントリを作成する

作成する Amazon EKS アクセスエントリは、認可に Kubernetes グループを使用し、RBAC を手動で設定する必要があるものとします。

注記

通常は、このページで説明している Kubernetes グループによるアプローチではなく、EKS アクセスポリシーを使用する方法をお勧めします。EKS アクセスポリシーでは、AWS との統合を進めたシンプルな方法でアクセスを管理するため、RBAC を手動で設定する必要がありません。Kubernetes グループによるアプローチを使用するのは、EKS アクセスポリシーよりもさらにきめ細かく制御する必要がある場合だけにしてください。

概要

アクセスエントリでは、IAM ID (ユーザーとロール) が Kubernetes クラスターにアクセスする方法を定義します。Kubernetes グループによるアプローチでは、標準の Kubernetes RBAC グループを介して EKS クラスターにアクセスするためのアクセス許可を IAM ユーザーまたは IAM ロールに付与します。この方法では、Kubernetes RBAC リソース (Roles、RoleBindings、ClusterRoles、ClusterRoleBindings) を作成および管理する必要があります。高度にカスタマイズされたアクセス許可セットが必要なときや複雑な認可要件が必要なとき、あるいはハイブリッド Kubernetes 環境全体にわたって一貫したアクセスコントロールパターンを維持するときに、お勧めの方法です。

このトピックでは、Amazon EC2 インスタンスが EKS クラスターに参加する際に使用する IAM ID 用のアクセスエントリの作成については取り上げません。

前提条件

  • アクセスエントリを有効にするようにクラスターの認証モードを設定する必要があります。詳細については、「アクセスエントリを使用するように認証モードを変更する」を参照してください。

  • AWS コマンドラインインターフェイスユーザーガイドの「インストール」の説明に従って、AWS CLI をインストールして設定します。

  • Kubernetes RBAC をよく理解しておくことをお勧めします。詳細についてはKubernetes ドキュメントの「RBAC 認可を使用する」を参照してください。

ステップ 1: アクセスエントリを定義する

  1. アクセス許可を付与する IAM ID (ユーザーやロールなど) の ARN を確認します。

    • IAM ID ごとに EKS アクセスエントリを 1 つのみ含めることができます。

  2. この IAM ID に関連付ける Kubernetes グループを決定します。

    • そのグループを参照する Kubernetes Role/ClusterRoleRoleBinding/ClusterRoleBinding リソースを作成するか、既存のものを使用する必要があります。

  3. 自動生成したユーザー名がアクセスエントリに適しているかどうかや、ユーザー名を手動で指定する必要があるかどうかを判断します。

ステップ2: Kubernetes グループと共にアクセスエントリを作成する

アクセスエントリを作成する準備を整えたら、AWS CLI を使用して適切な Kubernetes グループと共に作成します。

aws eks create-access-entry --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --type STANDARD --kubernetes-groups <groups>

置換:

  • <cluster-name> を EKS クラスター名に置き換えます。

  • <iam-identity-arn> を IAM ユーザーまたはロールの ARN に置き換えます。

  • <groups> を Kubernetes グループのカンマ区切りリスト (例えば「system:developers,system:readers」)に置き換えます。

すべての設定オプションについて CLI リファレンスを表示します

ステップ 3: Kubernetes RBAC を設定する

IAM プリンシパルがクラスター上の Kubernetes オブジェクトにアクセスできるようにするには、Kubernetes ロールベースアクセスコントロール (RBAC) オブジェクトを作成して管理する必要があります。

  1. アクセス許可を定義する Kubernetes オブジェクト Role または ClusterRole を作成します。

  2. クラスター上で Kubernetes RoleBinding または ClusterRoleBinding オブジェクトを作成し、kind: Groupsubject としてグループ名を指定します。

Kubernetes でグループとアクセス許可を設定する方法の詳細については、Kubernetes のドキュメントの「Using RBAC Authorization」を参照してください。

次のステップ