帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
将访问策略与访问条目关联和取消关联
您可以为类型为 STANDARD
的访问条目分配一个或多个访问策略。Amazon EKS 会自动向其他类型的访问条目授予在您的集群中正常运行所需的权限。Amazon EKS 访问策略包含 Kubernetes 权限,但不包含 IAM 权限。在将访问策略关联到访问条目之前,请确保您熟悉每个访问策略中包含的 Kubernetes 权限。有关更多信息,请参阅 访问策略权限。如果所有访问策略都不符合您的要求,则不要将访问策略与访问条目相关联。而是为访问条目指定一个或多个组名称,然后创建和管理 Kubernetes 基于角色的访问控制对象。有关更多信息,请参阅 创建访问条目。
先决条件
-
现有的访问条目。要创建该文件,请参阅 创建访问条目。
-
具有以下权限的 Amazon Identity and Access Management 角色或用户:
ListAccessEntries
、DescribeAccessEntry
、UpdateAccessEntry
、ListAccessPolicies
、AssociateAccessPolicy
和DisassociateAccessPolicy
。有关更多信息,请参阅《服务授权参考》中的 Amazon Elastic Kubernetes Service 定义的操作。
在将访问策略与访问条目关联之前,请考虑以下要求:
-
您可以将多个访问策略关联到每个访问条目,但只能将每个策略与一个访问条目关联一次。如果您关联多个访问策略,则访问条目的 IAM 主体拥有所有关联访问策略中包含的所有权限。
-
您可以将访问策略的范围限定为集群上的所有资源,也可以指定一个或多个 Kubernetes 命名空间的名称。您可以为命名空间名称使用通配符。例如,如果要将访问策略的范围限定为以
dev-
开头的所有命名空间,则可以指定dev-*
为命名空间名称。请确保您的集群上存在命名空间,并且拼写与集群上的实际命名空间名称相匹配。Amazon EKS 不会确认您的集群上命名空间的拼写或是否存在。 -
将访问策略与访问条目关联后,您可以更改访问策略的访问范围。如果您已将访问策略的范围限定为 Kubernetes 命名空间,则可以根据需要为关联添加和移除命名空间。
-
如果您将访问策略关联到同时指定了组名称的访问条目,则 IAM 主体拥有所有关联访问策略中的所有权限。该主体还拥有在指定组名称的任何 Kubernetes
Role
和RoleBinding
对象中指定的任何 KubernetesRole
或ClusterRole
对象中的所有权限。 -
如果您运行
kubectl auth can-i --list
命令,则不会看到访问策略分配的任何 Kubernetes 权限,这些权限与您在运行命令时使用的 IAM 主体的访问条目相关联。只有在您已经在 KubernetesRole
或ClusterRole
对象中授予了 Kubernetes 权限,并且已经将这些权限绑定到为访问条目指定的组名称或用户名时,该命令才会显示这些权限。 -
如果您在与集群上的 Kubernetes 对象交互时伪装成 Kubernetes 用户或组,例如使用带
--as
或username
--as-group
的group-name
kubectl
命令,则表示您强制使用 Kubernetes RBAC 授权。因此,IAM 主体没有与访问条目关联的任何访问策略所分配的权限。IAM 主体伪装的用户或组拥有的唯一 Kubernetes 权限是您在 KubernetesRole
或ClusterRole
对象中授予他们的 Kubernetes 权限,这些权限已绑定到组名称或用户名。要使您的 IAM 主体拥有相关访问策略中的权限,请不要伪装成 Kubernetes 用户或组。IAM 主体仍将拥有您在 KubernetesRole
或ClusterRole
对象中授予他们的任何权限,这些权限已绑定到您为访问条目指定的组名称或用户名。有关更多信息,请参阅 Kubernetes 文档中的用户伪装。
您可以使用 Amazon Web Services Management Console 或 Amazon CLI 将访问策略与访问条目相关联。
访问策略权限
访问策略包括包含 Kubernetes verbs
(权限)和 resources
的 rules
。访问策略不包括 IAM 权限或资源。与 Kubernetes Role
和 ClusterRole
对象类似,访问策略仅包括 allow
rules
。您无法修改访问策略的内容。您无法创建自己的访问策略。如果访问策略中的权限不符合您的需求,请创建 Kubernetes RBAC 对象并为访问条目指定组名称。有关更多信息,请参阅 创建访问条目。访问策略中包含的权限与 Kubernetes 面向用户的集群角色中的权限类似。有关更多信息,请参阅 Kubernetes 文档中的面向用户的角色
选择任意访问策略以查看其内容。每个访问策略中每个表的每一行都是一个单独的规则。
此访问策略包括授予 IAM 主体对资源的大部分权限的权限。当与访问条目关联时,其访问范围通常是一个或多个 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 nonResourceURL | 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 日 |