

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

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

# Amazon EKS でのアクセスコントロールの仕組みについて説明します。
<a name="cluster-auth"></a>

Amazon EKS クラスターへのアクセスを管理する方法について説明します。Amazon EKS を使用するには、Kubernetes と AWS Identity and Access Management (AWS IAM) がどのようにアクセスコントロールをするのかについての知識が必要になります。

 **このセクションには以下が含まれます。**

 ** [IAM ユーザーおよびロールに Kubernetes API へのアクセスを付与する](grant-k8s-access.md) ** — アプリケーションまたはユーザーが Kubernetes API を認証できるようにする方法について説明します。アクセスエントリ、aws-auth ConfigMap、または外部の OIDC プロバイダーを使用できます。

 ** [AWS マネジメントコンソール に Kubernetes リソースを表示する](view-kubernetes-resources.md) ** — Amazon EKS クラスターと通信するように AWS マネジメントコンソールを設定する方法について説明します。コンソールを使用して、名前空間、ノード、Pod など、クラスター内の Kubernetes リソースを表示します。

 ** [Kubernetes API への書き込みアクセスを AWS サービスに付与する](mutate-kubernetes-resources.md) ** – Kubernetes リソースの変更に必要なアクセス許可について説明します。

 ** [kubeconfig ファイルを作成して kubectl を EKS クラスターに接続する](create-kubeconfig.md) ** — Amazon EKS クラスターと通信するように kubectl を設定する方法について説明します。AWS CLI を使用して kubeconfig ファイルを作成します。

 ** [Kubernetes ワークロードに Kubernetes サービスアカウントを使用して AWS へのアクセスを許可する](service-accounts.md) ** —Kubernetes サービスアカウントを AWS IAM ロールに関連付ける方法について説明します。サービスアカウント (IRSA) には、Pod Identity または IAM ロールを使用できます。

## 一般的なタスク
<a name="_common_tasks"></a>
+ 開発者に Kubernetes API へのアクセスを許可します。AWS マネジメントコンソールに Kubernetes リソースを表示します。
  + 解決策: [アクセスエントリを使用](access-entries.md)して、Kubernetes RBAC アクセス許可を AWS IAM ユーザーまたはロールに関連付けます。
+ AWS 認証情報を使用して、kubectl を Amazon EKS クラスターと通信するように設定します。
  + 解決策: AWS CLI を使用して [kubeconfig ファイルを作成](create-kubeconfig.md) します。
+ Ping Identity など外部 ID プロバイダーを使用して、Kubernetes API に対してユーザーを認証します。
  + 解決策: [外部の OIDC プロバイダーをリンクします](authenticate-oidc-identity-provider.md)。
+ Kubernetes クラスターのワークロードに AWS API を呼び出す機能を付与します。
  + 解決策: [Pod Identity を使用](pod-identities.md)して AWS IAM ロールを Kubernetes サービスアカウントに関連付けます。

## 背景
<a name="_background"></a>
+  [Kubernetes サービスアカウントの仕組みを学びます。](https://kubernetes.io/docs/concepts/security/service-accounts/)
+  [Kubernetes ロールベースアクセスコントロール (RBAC) モデルを確認します。](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
+ AWS リソースへのアクセスを管理する方法については、「[AWS IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html)」を参照してください。あるいは、無料の [AWS IAM の使用に関する入門トレーニング](https://explore.skillbuilder.aws/learn/course/external/view/elearning/120/introduction-to-aws-identity-and-access-management-iam) も受講できます。

## EKS Auto Mode に関する考慮事項
<a name="_considerations_for_eks_auto_mode"></a>

EKS Auto Mode は、EKS Pod Identity および EKS アクセスエントリと統合されます。
+ EKS Auto Mode は、アクセスエントリを使用して EKS コントロールプレーンに Kubernetes アクセス許可を付与します。例えば、アクセスポリシーにより、EKS Auto Mode はネットワークエンドポイントとサービスに関する情報を読み取ることができます。
  + EKS Auto Mode クラスターのアクセスエントリを無効にすることはできません。
  + 任意で `aws-auth` `ConfigMap` を有効にできます。
  + EKS Auto Mode のアクセスエントリは自動的に設定されます。このアクセスエントリは表示できますが、変更することはできません。
  + NodeClass を使用してカスタムノード IAM ロールを作成する場合は、AmazonEKSAutoNodePolicy アクセスポリシーを使用してロールのアクセスエントリを作成する必要があります。
+ AWS サービスのアクセス許可をワークロードに付与する場合は、EKS Pod Identity を使用します。
  + EKS Auto Mode クラスターに Pod Identity エージェントをインストールする必要はありません。