

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Entender as funções e os usuários do RBAC criados pelo Amazon EKS
<a name="default-roles-users"></a>

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 baseado em perfil (RBAC) do Kubernetes para os componentes do cluster. Para obter mais informações, consulte [Usar a autorização de RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) na documentação do Kubernetes.

Quando você instala [complementos](eks-add-ons.md) 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 Console de gerenciamento da AWS ou a ferramenta de linha de comandos do `kubectl`. Todas as identidades de usuário aparecem nos logs de auditoria do `kube`, disponíveis a você por meio do Amazon CloudWatch.

## Console de gerenciamento da AWS
<a name="default-role-users-console"></a>

### Pré-requisito
<a name="_prerequisite"></a>

A [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que você usar deve ter as permissões descritas em [Permissões necessárias](view-kubernetes-resources.md#view-kubernetes-resources-permissions).

### Para visualizar as identidades criadas pelo Amazon EKS usando o Console de gerenciamento da AWS
<a name="to_view_amazon_eks_created_identities_using_the_shared_consolelong"></a>

1. Abra o [console do Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Na lista **Clusters**, escolha o cluster que contém as identidades do que você deseja visualizar.

1. Escolha a guia **Recursos**.

1. Em **Resource types** (Tipos de recursos), escolha **Authorization** (Autorização).

1. 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 [plug-in CNI da Amazon VPC para Kubernetes](managing-vpc-cni.md), 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](https://github.com/aws/amazon-vpc-resource-controller-k8s), 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 `kubectl` durante a inicialização do cluster.
   +  ** `eks:support-engineer` ** – usado para operações de gerenciamento de cluster.

1. 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
<a name="default-role-users-kubectl"></a>

### Pré-requisito
<a name="_prerequisite_2"></a>

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 identidade OIDC. A entidade deve receber permissões para usar os verbos `get` e `list` do Kubernetes para os recursos `Role`, `ClusterRole`, `RoleBinding` e `ClusterRoleBinding` no cluster com o qual 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](grant-k8s-access.md). Para obter mais informações sobre conceder às entidades autenticadas por seu próprio provedor OIDC acesso ao cluster, consulte [Conceder aos usuários acesso ao Kubernetes com um provedor OIDC externo](authenticate-oidc-identity-provider.md).

### Para visualizar as identidades criadas pelo Amazon EKS usando o `kubectl`
<a name="_to_view_amazon_eks_created_identities_using_kubectl"></a>

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 `kubectl` durante a inicialização do cluster.
+  ** `eks:support-engineer` ** – usado para operações de gerenciamento de 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 cluster.

```
kubectl get clusterroles | grep eks
```

Além dos `ClusterRoles` retornados na saída que são precedidos por eks, existem os `ClusterRoles` a seguir.
+  ** `aws-node` **: este `ClusterRole` é compatível com o [plug-in CNI da Amazon VPC para Kubernetes](managing-vpc-cni.md), que o Amazon EKS instala em todos os clusters.
+  ** `vpc-resource-controller-role` ** este `ClusterRole` é compatível com o [controlador de recursos do Amazon VPC](https://github.com/aws/amazon-vpc-resource-controller-k8s), que o Amazon EKS instala em todos os clusters.

Para ver a especificação de um `ClusterRole`, substitua *eks:k8s-metrics* no comando a seguir por um `ClusterRole` retornado na saída do comando anterior. O exemplo a seguir retorna a especificação para `ClusterRole` *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 cluster.

```
kubectl get clusterrolebindings | grep eks
```

Além dos `ClusterRoleBindings` retornados na saída, existem os `ClusterRoleBindings` a seguir.
+  ** `aws-node` **: este `ClusterRoleBinding` é compatível com o [plug-in CNI da Amazon VPC para Kubernetes](managing-vpc-cni.md), que o Amazon EKS instala em todos os clusters.
+  ** `vpc-resource-controller-rolebinding` ** este `ClusterRoleBinding` é compatível com o [controlador de recursos do Amazon VPC](https://github.com/aws/amazon-vpc-resource-controller-k8s), que o Amazon EKS instala em todos os clusters.

Para ver a especificação de um `ClusterRoleBinding`, substitua *eks:k8s-metrics* no comando a seguir por um `ClusterRoleBinding` retornado na saída do comando anterior. O exemplo a seguir retorna a especificação para `ClusterRoleBinding` *eks:k8s-metrics*.

```
kubectl describe clusterrolebinding eks:k8s-metrics
```

Veja abaixo um exemplo de saída.

```
Name:         eks:k8s-metrics
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  eks:k8s-metrics
Subjects:
  Kind  Name             Namespace
  ----  ----             ---------
  User  eks:k8s-metrics
```

 **Perfis**: `Roles` estão no escopo de um namespace do Kubernetes. Todos os `Roles` criados pelo Amazon EKS estão no escopo do namespace do `kube-system`.

O comando a seguir retorna todos os `Roles` do Kubernetes criados pelo Amazon EKS no cluster.

```
kubectl get roles -n kube-system | grep eks
```

Para ver a especificação de um `Role`, substitua *eks:k8s-metrics* no comando a seguir pelo nome de um `Role` retornado na saída do comando anterior. O exemplo a seguir retorna a especificação para `Role` *eks:k8s-metrics*.

```
kubectl describe role eks:k8s-metrics -n kube-system
```

Veja abaixo um exemplo de saída.

```
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 os `RoleBindings` criados pelo Amazon EKS estão no escopo do namespace do `kube-system`.

O comando a seguir retorna todos os `RoleBindings` do Kubernetes criados pelo Amazon EKS no cluster.

```
kubectl get rolebindings -n kube-system | grep eks
```

Para ver a especificação de um `RoleBinding`, substitua *eks:k8s-metrics* no comando a seguir por um `RoleBinding` retornado na saída do comando anterior. O exemplo a seguir retorna a especificação para `RoleBinding` *eks:k8s-metrics*.

```
kubectl describe rolebinding eks:k8s-metrics -n kube-system
```

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
```