このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? すべてのページの右側のペインにある GitHub リンクで、このページの編集を選択してください。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
Kubernetes クラスターを作成すると、Kubernetes が正常に機能するようにそのクラスターに複数のデフォルト Kubernetes ID が作成されます。アマゾン EKS はデフォルトコンポーネントごとに Kubernetes ID を作成します。ID はクラスターコンポーネントの Kubernetes ロールベースの承認制御 (RBAC) を提供します。詳細についてはKubernetes ドキュメントの「RBAC 認証の使用
オプションのアドオンをクラスターにインストールすると、クラスターに追加の Kubernetes ID が追加されることがあります。このトピックで扱われていない ID の詳細については「アドオンのドキュメント」を参照してください。
AWS Management Console または kubectl
コマンドラインツールを使用して、クラスターで アマゾン EKS が作成した Kubernetes ID のリストを表示できます。すべてのユーザー ID はお客様に対して、アマゾン クラウドWatch を通じて利用可能な kube
監査ログに表示されます。
- AWS Management Console
-
前提条件 使用する IAM プリンシパルには必要なアクセス許可 に記載されている許可が必要です.。
-
アマゾン EKS コンソール
を開きます。 -
[Clusters] (クラスター) のリストで、表示したい ID を含んでいるクラスターを選択してください。
-
[リソース] タブを選択してください。
-
[Resource types] (リソースタイプ) で [Authorization] (承認)を 選択してください。
-
[クラスター役割]、[クラスター役割ビンディング]、[役割] 、または [バインディング役割] を選択してください。[eks] というプレフィックスが付いたリソースはすべて、アマゾン EKS によって作成されます。アマゾン EKS で作成される追加の ID リソースは次のとおりです:
-
[aws-node] という名前の [クラスター役割] と [クラスター役割バインディング]。[aws-node] リソースはAmazon EKS がすべてのクラスターにインストールする Amazon VPC CNI plugin for Kubernetes をサポートします。
-
[vpc-resource-controller-role] という名前の [クラスター役割] および [vpc-resource-controller-rolebinding] という名前の [クラスター役割バインディング]。これらのリソースはアマゾン EKS がすべてのクラスターにインストールする「アマゾン VPC resource controller
」(アマゾン VPC リソースコントローラー) サポートします。
-
コンソールに表示されるリソースに加えて、次の特別なユーザー ID がクラスターに存在しますが、クラスターの設定には表示されません:
+
-
eks:cluster-bootstrap
- クラスターブートストラップ中のkubectl
操作に使用されます。 -
eks:support-engineer
- クラスター管理操作に使用されます。-
特定のリソースを選択すると、そのリソースの詳細が表示されます。デフォルトでは情報は [Structured view] (構造化ビュー) で表示されます。詳細ページの右上隅で、[Raw View] (生のビュー) 選択すると、リソースの情報をすべて表示できます。
-
-
- Kubectl
-
前提条件 クラスター上の Kubernetes リソースを一覧表示するために使用するエンティティ (AWS アイデンティティとアクセス管理 (IAM) または OpenID Connect (OIDC)) はIAM または OIDC ID プロバイダーによって認証される必要があります。エンティティにはそのエンティティに使用させたいクラスター上の、
Role
、ClusterRole
、RoleBinding
、およびClusterRoleBinding
リソースに対して Kubernetesget
およびlist
動詞を使用するアクセス許可が付与されている必要があります。IAM エンティティにクラスターへのアクセスを付与する方法の詳細については「IAM ユーザーおよびロールに Kubernetes APIs へのアクセスを付与する」を参照してください。独自の OIDC プロバイダーによって認証されたエンティティにクラスターへのアクセスを付与する方法の詳細については「外部 OIDC プロバイダーを使用して Kubernetes へのアクセスをユーザーに許可する」を参照してください。kubectl
を使用して アマゾン EKS が作成した ID を表示するには表示するリソースのタイプに対してこのコマンドを実行してください。[eks] というプレフィックスが付いたすべての返されるリソースはアマゾン EKS によって作成されます。コマンドからの出力で返されるリソースに加えて、次の特別なユーザー ID がクラスターに存在しますが、クラスターの設定には表示されません:-
eks:cluster-bootstrap
- クラスターブートストラップ中のkubectl
操作に使用されます。 -
eks:support-engineer
- クラスター管理操作に使用されます。クラスター役割s -
ClusterRoles
はクラスターにスコープが設定されているため、ロールに付与されたすべてのアクセス許可はクラスター上の任意の Kubernetes 名前空間内のリソースに適用されます。次のコマンドはクラスターで作成されたすべての アマゾン EKS Kubernetes
ClusterRoles
を返します。kubectl get clusterroles | grep eks
出力で返されるのはプレフィックスが付けられた
ClusterRoles
の他に、次のClusterRoles
が存在します。 -
aws-node
– このClusterRole
はアマゾン EKS がすべてのクラスターにインストールする Amazon VPC CNI plugin for Kubernetes, をサポートします。 -
vpc-resource-controller-role
- このClusterRole
はアマゾン EKS がすべてのクラスターにインストールする「アマゾン VPC resource controller」(アマゾン VPC リソースコントローラー) サポートします。 ClusterRole
の仕様を確認するには次のコマンドのeks:k8s-metrics
を前のコマンドの出力で返されたClusterRole
に置き換えます。次の例ではeks:k8s-metrics
ClusterRole
の仕様を返します。kubectl describe clusterrole eks:k8s-metrics
出力例は次のとおりです。
Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- [/metrics] [] [get] endpoints [] [] [list] nodes [] [] [list] pods [] [] [list] deployments.apps [] [] [list]
クラスター役割Bindings -
ClusterRoleBindings
はクラスターを対象としています。次のコマンドはクラスターで作成されたすべての アマゾン EKS Kubernetes
ClusterRoleBindings
を返します。kubectl get clusterrolebindings | grep eks
出力で返される
ClusterRoleBindings
以外に、次のClusterRoleBindings
が存在します。 -
aws-node
– このClusterRoleBinding
はAmazon EKS がすべてのクラスターにインストールする Amazon VPC CNI plugin for Kubernetes, をサポートします。 -
vpc-resource-controller-rolebinding
- このClusterRoleBinding
はアマゾン EKS がすべてのクラスターにインストールする「アマゾン VPC resource controller」(アマゾン VPC リソースコントローラー) サポートします。
ClusterRoleBinding
の仕様を確認するには次のコマンドのeks:k8s-metrics
を前のコマンドの出力で返されたClusterRoleBinding
に置き換えます。次の例ではeks:k8s-metrics
ClusterRoleBinding
の仕様を返します:+
kubectl describe clusterrolebinding eks:k8s-metrics
+ 出力例は次のとおりです。
+
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
+ ロール –
Roles
は Kubernetes 名前空間にスコープされます。Roles
で作成されたすべての アマゾン EKS はkube-system
名前空間にスコープされます。+ 次のコマンドはアマゾン EKS が作成したすべての Kubernetes
Roles
をクラスターに返します。+
kubectl get roles -n kube-system | grep eks
+
Role
の仕様を確認するには次のコマンドのeks:k8s-metrics
を、前のコマンドの出力で返されたRole
の名前に置き換えます。次の例ではeks:k8s-metrics
Role
の仕様を返します。+
kubectl describe role eks:k8s-metrics -n kube-system
+ 出力例は次のとおりです。
+
Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- daemonsets.apps [] [aws-node] [get] deployments.apps [] [vpc-resource-controller] [get]
+ RoleBindings –
RoleBindings
は Kubernetes 名前空間にスコープされます。RoleBindings
で作成されたすべての アマゾン EKS はkube-system
名前空間にスコープされます。+ 次のコマンドはアマゾン EKS が作成したすべての Kubernetes
RoleBindings
をクラスターに返します。+
kubectl get rolebindings -n kube-system | grep eks
+
RoleBinding
の仕様を確認するには次のコマンドのeks:k8s-metrics
を前のコマンドの出力で返されたRoleBinding
に置き換えます。次の例ではeks:k8s-metrics
RoleBinding
の仕様を返します。+
kubectl describe rolebinding eks:k8s-metrics -n kube-system
+ 出力例は次のとおりです。
+
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
-