Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Como associar e desassociar políticas de acesso em entradas de acesso
Você pode atribuir uma ou mais políticas de acesso para acessar entradas do tipo STANDARD
. O Amazon EKS concede automaticamente aos outros tipos de entradas de acesso as permissões necessárias para funcionar adequadamente em seu cluster. As políticas de acesso do Amazon EKS incluem permissões do Kubernetes, não permissões do IAM. Antes de associar uma política de acesso a uma entrada de acesso, familiarize-se com as permissões do Kubernetes incluídas em cada política de acesso. Para ter mais informações, consulte Permissão da política de acesso a dados. Se nenhuma das políticas de acesso atender aos seus requisitos, não associe uma política de acesso a uma entrada de acesso. Em vez disso, especifique um ou mais nomes de grupos para a entrada de acesso e crie e gerencie objetos de controle de acesso baseados em funções do Kubernetes. Para ter mais informações, consulte Criação de entradas de acesso.
Pré-requisitos
-
Uma entrada de acesso existente. Para criar uma, consulte Criação de entradas de acesso.
-
Uma função ou usuário do AWS Identity and Access Management com as seguintes permissões:
ListAccessEntries
,DescribeAccessEntry
,UpdateAccessEntry
,ListAccessPolicies
,AssociateAccessPolicy
eDisassociateAccessPolicy
. Para obter mais informações, consulte Ações definidas pelo Amazon Elastic Kubernetes Service na Referência de autorização do serviço.
Antes de associar políticas de acesso às entradas de acesso, considere os seguintes requisitos:
-
Você pode associar várias políticas de acesso a cada entrada de acesso, mas só pode associar cada política a uma entrada de acesso uma vez. Se você associar várias políticas de acesso, a entidade principal do IAM da entrada de acesso tem todas as permissões incluídas em todas as políticas de acesso associadas.
-
Você pode definir o escopo de uma política de acesso para todos os recursos em um cluster ou especificando o nome de um ou mais namespaces do Kubernetes. Você pode usar caracteres curinga para o nome de um namespace. Por exemplo, se você quiser definir o escopo de uma política de acesso para todos os namespaces que começam com
dev-
, você pode especificardev-*
como um nome de namespace. Verifique se os namespaces existem no cluster e se a ortografia corresponde ao nome real do namespace no cluster. O Amazon EKS não confirma a ortografia nem a existência dos namespaces no seu cluster. -
Você pode alterar o escopo de acesso de uma política de acesso depois de associá-la a uma entrada de acesso. Se você definiu o escopo da política de acesso para namespaces do Kubernetes, pode adicionar e remover namespaces da associação, conforme necessário.
-
Se você associar uma política de acesso a uma entrada de acesso que também tenha nomes de grupos especificados, a entidade principal do IAM terá todas as permissões em todas as políticas de acesso associadas. Ela também tem todas as permissões em qualquer objeto
Role
ouClusterRole
do Kubernetes especificado em qualquer objetoRole
ouRoleBinding
do Kubernetes que especificam os nomes dos grupos. -
Se você executar o comando
kubectl auth can-i --list
, não verá nenhuma permissão Kubernetes atribuída pelas políticas de acesso associadas a uma entrada de acesso para a entidade principal do IAM que você está usando ao executar o comando. O comando só mostra permissões Kubernetes se você as concedeu em objetosRole
ouClusterRole
do Kubernetes vinculados aos nomes de grupo ou nome de usuário que você especificou para uma entrada de acesso. -
Se você se faz passar por um usuário ou grupo do Kubernetes ao interagir com objetos do Kubernetes em seu cluster, como usar o comando
kubectl
com--as
ouusername
--as-group
, você está forçando o uso da autorização RBAC do Kubernetes. Como resultado, a entidade principal do IAM não tem permissões atribuídas por nenhuma política de acesso associada à entrada de acesso. As únicas permissões do Kubernetes que o usuário ou grupo que a entidade principal do IAM está representando tem são as permissões do Kubernetes que você concedeu a eles em objetosgroup-name
Role
ouClusterRole
do Kubernetes que você vinculou aos nomes do grupo ou do usuário. Para que sua entidade principal do IAM tenha as permissões nas políticas de acesso associadas, não se faça passar por um usuário ou grupo do Kubernetes. A entidade principal do IAM ainda terá todas as permissões que você concedeu a ele nos objetosRole
ouClusterRole
do Kubernetes que você vinculou aos nomes de grupo ou nome de usuário que você especificou para a entrada de acesso. Para obter mais informações, consulte Personificação de usuáriona documentação do Kubernetes.
Você pode associar uma política de acesso a uma entrada de acesso usando o AWS Management Console ou a AWS CLI.
Permissão da política de acesso a dados
As políticas de acesso incluem rules
que contêm verbs
(permissões) e resources
do Kubernetes. As políticas de acesso não incluem permissões ou recursos do IAM. Semelhantes aos objetos Role
e ClusterRole
do Kubernetes, as políticas de acesso incluem apenas rules
allow
. Não é possível modificar o conteúdo de uma política de acesso. Você não pode criar suas próprias políticas de acesso. Se as permissões nas políticas de acesso não atenderem às suas necessidades, crie objetos RBAC do Kubernetes e especifique nomes de grupos para suas entradas de acesso. Para ter mais informações, consulte Criação de entradas de acesso. As permissões contidas nas políticas de acesso são semelhantes às permissões nas funções de cluster do Kubernetes voltadas para o usuário. Para obter mais informações, consulte User-facing roles
Escolha qualquer política de acesso para ver seu conteúdo. Cada linha de cada tabela em cada política de acesso é uma regra separada.
Essa política de acesso inclui permissões que concedem à entidade principal do IAM a maioria das permissões aos recursos. Quando associada a uma entrada de acesso, seu escopo de acesso geralmente é um ou mais namespaces do Kubernetes. Se você quiser que uma entidade principal do IAM tenha acesso de administrador a todos os recursos do seu cluster, associe a política de acesso AmazonEKSClusterAdminPolicy à sua entrada de acesso.
ARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
Grupos da API do Kubernetes | Recursos Kubernetes | Verbos (permissões) do 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 |
Essa política de acesso inclui permissões que concedem ao administrador principal do IAM acesso a um cluster. Quando associada a uma entrada de acesso, seu escopo de acesso geralmente é o cluster, em vez de um namespace do Kubernetes. Se você quiser que uma entidade principal do IAM tenha um escopo administrativo mais limitado, considere associar a política de acesso AmazonEKSAdminPolicy à sua entrada de acesso.
ARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy
Grupos da API do Kubernetes | nonResourceURLs do Kubernetes | Recursos Kubernetes | Verbos (permissões) do Kubernetes |
---|---|---|---|
* |
* |
* |
|
* |
* |
Essa política de acesso inclui permissões que concedem a uma entidade principal do IAM acesso de listagem/visualização a todos os recursos em um cluster. Observe que isso inclui Segredos do Kubernetes
ARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminViewPolicy
Grupos da API do Kubernetes | Recursos Kubernetes | Verbos (permissões) do Kubernetes |
---|---|---|
* |
* |
|
Essa política de acesso inclui permissões para que uma entidade principal do IAM edite a maioria dos recursos do Kubernetes.
ARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy
Grupos da API do Kubernetes | Recursos Kubernetes | Verbos (permissões) do 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 |
Essa política de acesso inclui permissões para que uma entidade principal do IAM visualize a maioria dos recursos do Kubernetes.
ARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy
Grupos da API do Kubernetes | Recursos Kubernetes | Verbos (permissões) do 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 |
Atualizações de política de acesso
Visualize detalhes sobre as atualizações das políticas de acesso, desde que elas foram introduzidas. Para receber alertas automáticos sobre alterações nesta página, assine o feed RSS na página Histórico do documento do Amazon EKS.
Alteração | Descrição | Data |
---|---|---|
Adicionar AmazonEKSAdminViewPolicy |
Adicione uma nova política para acesso de visualização expandido, incluindo recursos como Segredos. | 23 de abril de 2024 |
Políticas de acesso introduzidas. |
O Amazon EKS introduziu políticas de acesso. |
29 de maio de 2023 |