

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Comprensión de roles y usuarios de RBAC creados por Amazon EKS
<a name="default-roles-users"></a>

Al crear un clúster de Kubernetes, se crean varias identidades de Kubernetes predeterminadas en ese clúster para el correcto funcionamiento de Kubernetes. Amazon EKS crea identidades de Kubernetes para cada uno de sus componentes predeterminados. Las identidades proporcionan un control de autorización basado en roles (RBAC) de Kubernetes para los componentes del clúster. Para obtener más información, consulte [Utilización de la autorización de RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) en la documentación de Kubernetes.

Al instalar [complementos](eks-add-ons.md) opcionales en el clúster, es posible que se agreguen identidades de Kubernetes adicionales al clúster. Para obtener más información sobre las identidades no abordadas en este tema, consulte la documentación del complemento.

Puede ver la lista de identidades de Kubernetes creadas por Amazon EKS en su clúster mediante la Consola de administración de AWS o la herramienta de línea de comandos de `kubectl`. Todas las identidades de usuario aparecen en los registros de auditoría de `kube` disponibles para los clientes a través de Amazon CloudWatch.

## Consola de administración de AWS
<a name="default-role-users-console"></a>

### Requisito previo
<a name="_prerequisite"></a>

La [entidad principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que utilice debe tener los permisos que se describen en [Permisos necesarios](view-kubernetes-resources.md#view-kubernetes-resources-permissions).

### Para ver las identidades creadas por Amazon EKS mediante la Consola de administración de AWS
<a name="to_view_amazon_eks_created_identities_using_the_shared_consolelong"></a>

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

1. En la lista **Clusters** (Clústeres), seleccione el clúster que contiene las identidades que desea ver.

1. Elija la pestaña **Recursos**.

1. En **Resource types** (Tipos de recursos), elija **Authorization** (Autorización).

1. Elija **ClusterRoles**, **ClusterRoleBindings**, **Roles** o **RoleBindings**. Amazon EKS crea todos los recursos con el prefijo **eks**. Los recursos de identidad adicionales creados por Amazon EKS son los siguientes:
   + El **ClusterRole** y el **ClusterRoleBinding**, que se denominan **aws-node**. Los recursos de **aws-node** admiten el [complemento de la CNI de Amazon VPC para Kubernetes](managing-vpc-cni.md), que Amazon EKS instala en todos los clústeres.
   + Un **ClusterRole** llamado **vpc-resource-controller-role** y un **ClusterRoleBinding** llamado **vpc-resource-controller-rolebinding**. Estos recursos son compatibles con el [controlador de recursos de Amazon VPC](https://github.com/aws/amazon-vpc-resource-controller-k8s), que Amazon EKS instala en todos los clústeres.

   Además de los recursos que ve en la consola, existen las siguientes identidades de usuario especiales en su clúster, aunque no están visibles en la configuración del clúster:
   +  ** `eks:cluster-bootstrap` **: se utiliza para operaciones de `kubectl` durante el arranque del clúster.
   +  ** `eks:support-engineer` ** – se utiliza para operaciones de administración de clústeres.

1. Elija un recurso específico para ver detalles sobre él. De forma predeterminada, se muestra la información en la **Vista estructurada**. En la esquina superior derecha de la página de detalles de la, elija la **vista de sin procesar** para ver toda la información del recurso.

## Kubectl
<a name="default-role-users-kubectl"></a>

### Requisito previo
<a name="_prerequisite_2"></a>

La entidad que utilice (AWS Identity and Access Management [IAM] u OpenID Connect [OIDC]) para enumerar los recursos de Kubernetes del clúster debe estar autenticada por IAM o por su proveedor de identidad de OIDC. Se deben conceder permisos a la entidad para usar los verbos de `get` y `list` de Kubernetes de los recursos del clúster `Role`, `ClusterRole`, `RoleBinding` y `ClusterRoleBinding` con los que desea que trabaje la entidad. Para obtener más información sobre cómo conceder acceso de entidades de IAM a su clúster, consulte [Concesión a los usuarios y roles de IAM de acceso a las API de Kubernetes](grant-k8s-access.md). Para obtener más información sobre cómo conceder acceso de entidades autenticadas mediante su propio proveedor de OIDC a su clúster, consulte [Concesión de acceso a Kubernetes con un proveedor de OIDC externo para los usuarios](authenticate-oidc-identity-provider.md).

### Para ver las identidades creadas por Amazon EKS mediante `kubectl`
<a name="_to_view_amazon_eks_created_identities_using_kubectl"></a>

Ejecute el comando para el tipo de recurso que desea ver. Todos los recursos devueltos que llevan el prefijo **eks** son creados por Amazon EKS. Además de los recursos devueltos en la salida de los comandos, existen las siguientes identidades de usuario especiales en su clúster, aunque no están visibles en la configuración del clúster:
+  ** `eks:cluster-bootstrap` **: se utiliza para operaciones de `kubectl` durante el arranque del clúster.
+  ** `eks:support-engineer` ** – se utiliza para operaciones de administración de clústeres.

 **ClusterRoles**: `ClusterRoles` están dentro del ámbito de su clúster, por lo que cualquier permiso otorgado a un rol se aplica a los recursos de cualquier espacio de nombres de Kubernetes del clúster.

El siguiente comando devuelve todos los `ClusterRoles` de Kubernetes de Amazon EKS creados en su clúster.

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

Además de los `ClusterRoles` devueltos en la salida con el prefijo, existen los siguientes `ClusterRoles`.
+  ** `aws-node` **: este `ClusterRole` es compatible con el [complemento de la CNI de Amazon VPC para Kubernetes](managing-vpc-cni.md), que Amazon EKS instala en todos los clústeres.
+  ** `vpc-resource-controller-role` **: este `ClusterRole` es compatible con el [Controlador de recursos de Amazon VPC](https://github.com/aws/amazon-vpc-resource-controller-k8s), que Amazon EKS instala en todos los clústeres.

Para ver la especificación de un `ClusterRole`, sustituya *eks:k8s-metrics* en el siguiente comando por el `ClusterRole` devuelto en el resultado del comando anterior. El siguiente ejemplo devuelve la especificación de `ClusterRole` *eks:k8s-metrics*.

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

Un ejemplo de salida sería el siguiente.

```
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á dentro del ámbito de su clúster.

El siguiente comando devuelve todos los `ClusterRoleBindings` de Kubernetes de Amazon EKS creados en su clúster.

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

Además de los `ClusterRoleBindings` devueltos en la salida, existen los siguientes `ClusterRoleBindings`.
+  ** `aws-node` **: este `ClusterRoleBinding` es compatible con el [complemento de la CNI de Amazon VPC para Kubernetes](managing-vpc-cni.md), que Amazon EKS instala en todos los clústeres.
+  ** `vpc-resource-controller-rolebinding` **: este `ClusterRoleBinding` es compatible con el [Controlador de recursos de Amazon VPC](https://github.com/aws/amazon-vpc-resource-controller-k8s), que Amazon EKS instala en todos los clústeres.

Para ver la especificación de un `ClusterRoleBinding`, sustituya *eks:k8s-metrics* en el siguiente comando por el `ClusterRoleBinding` devuelto en el resultado del comando anterior. El siguiente ejemplo devuelve la especificación de `ClusterRoleBinding` *eks:k8s-metrics*.

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

Un ejemplo de salida sería el siguiente.

```
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` se limitan a un espacio de nombres de Kubernetes. Todos los `Roles` de Amazon EKS creados están incluidos en el espacio de nombres de `kube-system`.

El siguiente comando devuelve todos los `Roles` de Kubernetes de Amazon EKS creados en su clúster.

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

Para ver la especificación de un `Role`, sustituya *eks:k8s-metrics* en el siguiente comando por el nombre del `Role` devuelto en el resultado del comando anterior. El siguiente ejemplo devuelve la especificación de `Role` *eks:k8s-metrics*.

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

Un ejemplo de salida sería el siguiente.

```
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` se circunscriben a un espacio de nombres de Kubernetes. Todos los `RoleBindings` de Amazon EKS creados están incluidos en el espacio de nombres de `kube-system`.

El siguiente comando devuelve todos los `RoleBindings` de Kubernetes de Amazon EKS creados en su clúster.

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

Para ver la especificación de un `RoleBinding`, sustituya *eks:k8s-metrics* en el siguiente comando por el `RoleBinding` devuelto en el resultado del comando anterior. El siguiente ejemplo devuelve la especificación de `RoleBinding` *eks:k8s-metrics*.

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

Un ejemplo de salida sería el siguiente.

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