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.
Entender as funções e os usuários do RBAC criados pelo Amazon EKS
Quando você cria um cluster do Kubernetes, várias identidades padrão do Kubernetes são criadas nesse cluster para o funcionamento adequado do Kubernetes. O Amazon EKS cria identidades do Kubernetes para cada um de seus componentes padrão. As identidades fornecem controle de autorização baseada em perfil (RBAC) do Kubernetes para os componentes do cluster. Para mais informações, consulte Using RBAC Authorization
Quando você instala complementos opcionais no cluster, identidades adicionais do Kubernetes talvez sejam adicionadas a ele. Para obter mais informações sobre as identidades não abordadas neste tópico, consulte a documentação do complemento.
Você pode ver a lista de identidades do Kubernetes criadas pelo Amazon EKS no cluster usando o AWS Management Console ou ferramenta de linha de comando kubectl
. Todas as identidades de usuário aparecem nos logs de auditoria do kube
, disponíveis a você por meio do Amazon CloudWatch.
- AWS Management Console
-
Pré-requisito
A entidade principal do IAM que você usar deverá ter as permissões descritas em Permissões obrigatórias
Para visualizar as identidades criadas pelo Amazon EKS usando o AWS Management Console
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters
. -
Na lista Clusters, escolha o cluster que contém as identidades do que você deseja visualizar.
-
Escolha a guia Recursos.
-
Em Resource types (Tipos de recursos), escolha Authorization (Autorização).
-
Escolha ClusterRoles, ClusterRoleBindings, Roles ou RoleBindings. Todos os recursos prefaciados com eks são criados pelo Amazon EKS. Outros recursos de identidade criados pelo Amazon EKS são:
O ClusterRole e o ClusterRoleBinding denominados aws-node. Os recursos aws-node são compatíveis com o Amazon VPC CNI plugin for Kubernetes, que o Amazon EKS instala em todos os clusters.
-
Um ClusterRole denominado vpc-resource-controller-role e um ClusterRoleBinding denominado vpc-resource-controller-rolebinding. Esses recursos são compatíveis com o controlador de recursos da Amazon VPC
, que o Amazon EKS instala em todos os clusters.
Além dos recursos que você vê no console, as seguintes identidades de usuário especiais existem no cluster, embora não estejam visíveis na sua configuração:
-
eks:cluster-bootstrap
: usado para operações dokubectl
durante a inicialização do cluster. -
eks:support-engineer
: usado para operações de gerenciamento do cluster.
-
Escolha um recurso específico para visualizar detalhes sobre ele. Por padrão, as informações são mostradas na visualização estruturada. No canto superior direito da página de detalhes, você pode escolher Raw view (Visualização bruta) para ver todas as informações sobre o recurso.
- Kubectl
-
Pré-requisito
A entidade que você usa (AWS Identity and Access Management [IAM] ou OpenID Connect [OIDC]) para listar os recursos do Kubernetes no cluster deve ser autenticada pelo IAM ou pelo seu provedor de identidades OIDC. A entidade deve receber permissões para usar os verbos
get
elist
do Kubernetes para os recursosRole
,ClusterRole
,RoleBinding
eClusterRoleBinding
do cluster com que você deseja que a entidade trabalhe. Para obter mais informações sobre conceder às entidades do IAM acesso ao cluster, consulte Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes. Para obter mais informações sobre conceder às entidades autenticadas por seu próprio provedor OIDC acesso ao cluster, consulte Conceda aos usuários acesso ao Kubernetes com um provedor OIDC externo.Para visualizar as identidades criadas pelo Amazon EKS usando o
kubectl
Execute o comando para o tipo de recurso que você deseja ver. Todos os recursos retornados precedidos por eks são criados pelo Amazon EKS. Além dos recursos que retornados na saída dos comandos, as seguintes identidades de usuário especiais existem no cluster, embora não estejam visíveis na sua configuração:
-
eks:cluster-bootstrap
: usado para operações dokubectl
durante a inicialização do cluster. -
eks:support-engineer
: usado para operações de gerenciamento do cluster.
ClusterRoles:
ClusterRoles
estão no escopo do cluster, portanto, qualquer permissão concedida a um perfil se aplicará aos recursos em qualquer namespace do Kubernetes no cluster.O comando a seguir retorna todos os
ClusterRoles
do Kubernetes criados pelo Amazon EKS no seu cluster.kubectl get clusterroles | grep eks
Além dos
ClusterRoles
retornados na saída que são precedidos por eks, existem osClusterRoles
a seguir.-
aws-node
: esseClusterRole
é compatível com o Amazon VPC CNI plugin for Kubernetes, que o Amazon EKS instala em todos os clusters. -
vpc-resource-controller-role
: esseClusterRole
é compatível com o controlador de recursos Amazon VPC, que o Amazon EKS instala em todos os clusters.
Para ver a especificação de um
ClusterRole
, substituaeks:k8s-metrics
no comando a seguir por umClusterRole
retornado na saída do comando anterior. O exemplo a seguir retorna a especificação paraClusterRole
eks:k8s-metrics
.kubectl describe clusterrole
eks:k8s-metrics
Veja um exemplo de saída abaixo.
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]
ClusterRoleBindings:
ClusterRoleBindings
estão no escopo do cluster.O comando a seguir retorna todos os
ClusterRoleBindings
do Kubernetes criados pelo Amazon EKS no seu cluster.kubectl get clusterrolebindings | grep eks
Além dos
ClusterRoleBindings
retornados na saída, existem osClusterRoleBindings
a seguir.-
aws-node
: esseClusterRoleBinding
é compatível com o Amazon VPC CNI plugin for Kubernetes, que o Amazon EKS instala em todos os clusters. -
vpc-resource-controller-rolebinding
: esseClusterRoleBinding
é compatível com o controlador de recursos Amazon VPC, que o Amazon EKS instala em todos os clusters.
Para ver a especificação de um
ClusterRoleBinding
, substituaeks:k8s-metrics
no comando a seguir por umClusterRoleBinding
retornado na saída do comando anterior. O exemplo a seguir retorna a especificação paraClusterRoleBinding
eks:k8s-metrics
.kubectl describe clusterrolebinding
eks:k8s-metrics
Veja um exemplo de saída abaixo.
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
Roles:
Roles
estão no escopo de um namespace do Kubernetes. Todos osRoles
criados pelo Amazon EKS estão no escopo do namespace dokube-system
.O comando a seguir retorna todos os
Roles
do Kubernetes criados pelo Amazon EKS no seu cluster.kubectl get roles -n kube-system | grep eks
Para ver a especificação de um
Role
, substituaeks:k8s-metrics
no comando a seguir pelo nome de umRole
retornado na saída do comando anterior. O exemplo a seguir retorna a especificação paraRole
eks:k8s-metrics
.kubectl describe role
eks:k8s-metrics
-n kube-systemVeja um exemplo de saída abaixo.
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
estão no escopo de um namespace do Kubernetes. Todos osRoleBindings
criados pelo Amazon EKS estão no escopo do namespace dokube-system
.O comando a seguir retorna todos os
RoleBindings
do Kubernetes criados pelo Amazon EKS no seu cluster.kubectl get rolebindings -n kube-system | grep eks
Para ver a especificação de um
RoleBinding
, substituaeks:k8s-metrics
no comando a seguir por umRoleBinding
retornado na saída do comando anterior. O exemplo a seguir retorna a especificação paraRoleBinding
eks:k8s-metrics
.kubectl describe rolebinding
-n kube-systemeks:k8s-metrics
Veja um exemplo de saída abaixo.
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
-