このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
アクセスポリシーをアクセスエントリに関連付ける
1 つ以上のアクセスポリシーを タイプ STANDARD
のアクセスエントリに割り当てることができます。Amazon EKS は、クラスターで正しく機能するために必要なアクセス許可を他のタイプのアクセスエントリに自動的に付与します。Amazon EKS アクセスポリシーには、IAM アクセス許可ではなく Kubernetes アクセス許可が含まれます。アクセスポリシーをアクセスエントリに関連付ける前に、各アクセスポリシーに含まれる Kubernetes アクセス許可をすでに理解できていることを確かめてください。詳細については、「アクセスポリシーでの許可」を参照してください。どのアクセスポリシーも要件を満たさない場合は、アクセスポリシーをアクセスエントリに関連付けないでください。代わりに、アクセスエントリに 1 つ以上のグループ名を指定し、Kubernetes ロールベースのアクセス制御オブジェクトを作成して管理します。詳細については、「アクセスエントリを作成する」を参照してください。
前提条件
-
既存のアクセスエントリ。作成する場合は「アクセスエントリを作成する」を参照してください。
-
ListAccessEntries
、DescribeAccessEntry
、UpdateAccessEntry
、ListAccessPolicies
、AssociateAccessPolicy
、およびDisassociateAccessPolicy
のアクセス許可を持つ AWS Identity and Access Management ロールまたはユーザー。詳細については、サービス認可リファレンスの「Amazon Elastic Kubernetes Service で定義されるアクション」を参照してください。
アクセスポリシーをアクセスエントリに関連付ける前に、以下の要件を考慮してください。
-
各アクセスエントリには複数のアクセスポリシーを関連付けることができますが、各ポリシーを 1 つのアクセスエントリに関連付けることができるのは 1 回だけです。複数のアクセスポリシーを関連付ける場合、アクセスエントリの IAM プリンシパルには、関連するすべてのアクセスポリシーに含まれるすべてのアクセス許可が付与されます。
-
アクセスポリシーをクラスター上のすべてのリソースに範囲指定することも、1 つ以上の Kubernetes 名前空間の名前を指定して範囲指定することもできます。名前空間の名前にはワイルドカード文字を使用できます。例えば、
dev-
で始まるすべての名前空間にアクセスポリシーを適用する場合は、名前空間の名前としてdev-*
を指定できます。名前空間がクラスターに存在し、スペルがクラスター上の実際の名前空間の名前と一致していることを確認してください。Amazon EKS は、クラスター上の名前空間のスペルや存在を確認しません。 -
アクセスポリシーをアクセスエントリに関連付けた後、アクセスポリシーのアクセス範囲を変更できます。アクセスポリシーの範囲を Kubernetes 名前空間に設定した場合は、必要に応じて関連付けの名前空間を追加および削除できます。
-
グループ名も指定されているアクセスエントリにアクセスポリシーを関連付けると、IAM プリンシパルには、関連するすべてのアクセスポリシーのすべてのアクセス許可が付与されます。また、Kubernetes
Role
で指定されている KubernetesRole
またはClusterRole
オブジェクト、およびグループ名を指定するRoleBinding
オブジェクトのすべてのアクセス許可も保持されます。 -
kubectl auth can-i --list
コマンドを実行しても、コマンドを実行したときに使用している IAM プリンシパルのアクセスエントリに関連付けられているアクセスポリシーによって割り当てられた Kubernetes アクセス許可は表示されません。このコマンドは、アクセスエントリに指定したグループ名またはユーザー名にバインドした KubernetesRole
またはClusterRole
オブジェクトでアクセス許可を付与した場合にのみ、Kubernetes アクセス許可を表示します。 -
--as
またはusername
--as-group
でgroup-name
kubectl
コマンドを使用するなど、クラスター上の Kubernetes オブジェクトを操作する際に Kubernetes ユーザーまたはグループになりすますと、Kubernetes RBAC 認可の使用を強制することになります。その結果、IAM プリンシパルには、アクセスエントリに関連付けられたアクセスポリシーによって割り当てられるアクセス許可はありません。IAM プリンシパルを偽装するユーザーまたはグループが持つ Kubernetes アクセス許可は、グループ名またはユーザー名にバインドした KubernetesRole
またはClusterRole
オブジェクトで付与した Kubernetes アクセス許可だけです。IAM プリンシパルが関連するアクセスポリシー内のアクセス許可を持つようにするには、Kubernetes ユーザーまたはグループを偽装しないでください。IAM プリンシパルには、KubernetesRole
で付与したアクセス許可や、アクセスエントリに指定したグループ名またはユーザー名にバインドしたClusterRole
オブジェクトも引き続き保持されます。詳細については、Kubernetes ドキュメントの「ユーザー偽装」を参照してください。
AWS Management Console または AWS CLI を使用してアクセスポリシーをアクセスエントリに関連付けることができます。
アクセスポリシーでの許可
アクセスポリシーには、Kubernetes verbs
(アクセス許可) と resources
を含む rules
が含まれます。アクセスポリシーには IAM のアクセス許可やリソースは含まれません。Kubernetes Role
および ClusterRole
オブジェクトと同様に、アクセスポリシーには allow
rules
が含まれます。アクセスポリシーの内容は変更できません。独自のアクセスポリシーを作成することはできません。アクセスポリシーのアクセス許可がニーズに合わない場合は、Kubernetes RBAC オブジェクトを作成し、アクセスエントリのグループ名を指定します。詳細については、「アクセスエントリを作成する」を参照してください。アクセスポリシーに含まれるアクセス許可は、Kubernetes ユーザー向けのクラスターロールのアクセス許可と似ています。詳細については、Kubernetes ドキュメントの「ユーザー向けロール
アクセスポリシーを選択し、その内容を確認します。各アクセスポリシーの各テーブルの各行は個別のルールです。
このアクセスポリシーには、リソースに対するほとんどのアクセス許可を IAM プリンシパルに付与するアクセス許可が含まれています。アクセスエントリに関連付けられている場合、そのアクセス範囲は通常 1 つ以上の Kubernetes 名前空間です。IAM プリンシパルにクラスター上のすべてのリソースへの管理者アクセスを許可する場合は、代わりに AmazonEKSClusterAdminPolicy アクセスポリシーをアクセスエントリに関連付けてください。
ARN — arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
Kubernetes API グループ | Kubernetes のリソース | Kubernetes 動詞 (アクセス許可) |
---|---|---|
apps |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , replicasets ,
replicasets/scale , statefulsets ,
statefulsets/scale |
create , delete ,
deletecollection , patch ,
update |
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
authorization.k8s.io |
localsubjectaccessreviews |
create |
autoscaling |
horizontalpodautoscalers |
create , delete ,
deletecollection , patch ,
update |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
batch |
cronjobs , jobs |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , ingresses ,
networkpolicies , replicasets ,
replicasets/scale ,
replicationcontrollers/scale |
create , delete ,
deletecollection , patch ,
update |
extensions |
daemonsets , daemonsets/status ,
deployments , deployments/scale ,
deployments/status , ingresses ,
ingresses/status , networkpolicies ,
replicasets , replicasets/scale ,
replicasets/status ,
replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
networking.k8s.io |
ingresses , networkpolicies |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
rbac.authorization.k8s.io |
rolebindings , roles |
create , delete ,
deletecollection , get ,
list , patch , update ,
watch |
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get ,list ,
watch |
|
pods/attach , pods/exec ,
pods/portforward , pods/proxy ,
secrets , services/proxy |
get , list ,
watch |
|
configmaps , events ,
persistentvolumeclaims ,
replicationcontrollers ,
replicationcontrollers/scale ,
secrets , serviceaccounts ,
services , services/proxy |
create , delete ,
deletecollection , patch ,
update |
|
pods , pods/attach ,
pods/exec , pods/portforward ,
pods/proxy |
create , delete ,
deletecollection , patch ,
update |
|
serviceaccounts |
impersonate |
|
bindings , events ,
limitranges , namespaces/status ,
pods/log , pods/status ,
replicationcontrollers/status ,
resourcequotas ,
resourcequotas/status |
get , list ,
watch |
|
namespaces |
get ,list ,
watch |
このアクセスポリシーには、IAM プリンシパル管理者にクラスターへのアクセス権を付与するアクセス許可が含まれています。アクセスエントリに関連付けられている場合、そのアクセス範囲は通常、Kubernetes 名前空間ではなくクラスターになります。IAM プリンシパルの管理範囲をより限定したい場合は、代わりに AmazonEKSAdminPolicy アクセスポリシーをアクセスエントリに関連付けることを検討してください。
ARN — arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy
Kubernetes API グループ | Kubernetes nonResourceURLs | Kubernetes のリソース | Kubernetes 動詞 (アクセス許可) |
---|---|---|---|
* |
* |
* |
|
* |
* |
このアクセスポリシーには、IAM プリンシパルにクラスターの全リソースをリスト/表示するアクセス権を付与するアクセス許可が含まれています。これには Kubernetes Secrets
ARN — arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminViewPolicy
Kubernetes API グループ | Kubernetes のリソース | Kubernetes 動詞 (アクセス許可) |
---|---|---|
* |
* |
|
このアクセスポリシーには、IAM プリンシパルが Kubernetes リソースを編集できるようにするアクセス許可が含まれています。
ARN — arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy
Kubernetes API グループ | Kubernetes のリソース | Kubernetes 動詞 (アクセス許可) |
---|---|---|
apps |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , replicasets ,
replicasets/scale , statefulsets ,
statefulsets/scale |
create , delete ,
deletecollection , patch ,
update |
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , jobs |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , ingresses ,
networkpolicies , replicasets ,
replicasets/scale ,
replicationcontrollers/scale |
create , delete ,
deletecollection , patch ,
update |
extensions |
daemonsets , daemonsets/status ,
deployments , deployments/scale ,
deployments/status , ingresses ,
ingresses/status , networkpolicies ,
replicasets , replicasets/scale ,
replicasets/status ,
replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , networkpolicies |
create , delete ,
deletecollection , patch ,
update |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
policy |
poddisruptionbudgets |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
namespaces |
get , list ,
watch |
|
pods/attach , pods/exec ,
pods/portforward , pods/proxy ,
secrets , services/proxy |
get , list ,
watch |
|
serviceaccounts |
impersonate |
|
pods , pods/attach ,
pods/exec , pods/portforward ,
pods/proxy |
create , delete ,
deletecollection , patch ,
update |
|
configmaps , events ,
persistentvolumeclaims ,
replicationcontrollers ,
replicationcontrollers/scale ,
secrets , serviceaccounts ,
services , services/proxy |
create , delete ,
deletecollection , patch ,
update |
|
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get , list ,
watch |
|
bindings , events ,
limitranges , namespaces/status ,
pods/log , pods/status ,
replicationcontrollers/status ,
resourcequotas ,
resourcequotas/status |
get , list ,
watch |
このアクセスポリシーには、IAM プリンシパルがほとんどの Kubernetes リソースを表示できるようにするアクセス許可が含まれています。
ARN — arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy
Kubernetes API グループ | Kubernetes のリソース | Kubernetes 動詞 (アクセス許可) |
---|---|---|
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets 、daemonsets/status 、deployments 、deployments/scale 、deployments/status 、ingresses 、ingresses/status 、networkpolicies 、replicasets 、replicasets/scale 、replicasets/status 、replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get , list ,
watch |
|
bindings 、events 、limitranges 、namespaces/status 、pods/log 、pods/status 、replicationcontrollers/status 、resourcequotas 、resourcequotas/status |
get , list ,
watch |
|
namespaces |
get , list ,
watch |
アクセスポリシーの更新
アクセスポリシーが導入されてからのアクセスポリシーへの更新に関する詳細を表示します。このページの変更に関する自動通知を入手するには、Amazon EKS ドキュメントの履歴ページから、RSS フィードにサブスクライブしてください。
変更 | 説明 | 日付 |
---|---|---|
AmazonEKSAdminViewPolicy を追加します。 |
Secrets などのリソースを含む、拡張ビューアクセス用の新しいポリシーを追加します。 | 2024 年 4 月 23 日 |
アクセスポリシーが導入されました。 |
Amazon EKS はアクセスポリシーを導入しました。 |
2023 年 5 月 29 日 |