

 **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.

# Concesión a los usuarios y roles de IAM de acceso a las API de Kubernetes
<a name="grant-k8s-access"></a>

Su clúster tiene un punto de conexión de la API de Kubernetes. Kubectl usa esta API. Puede autenticarse en esta API mediante dos tipos de identidades:
+  **Una *entidad principal* de AWS Identity and Access Management (IAM) (rol o usuario)**: este tipo requiere autenticación ante IAM. Los usuarios pueden iniciar sesión en AWS como un usuario de [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) o con una [identidad federada](https://aws.amazon.com/identity/federation/) mediante las credenciales proporcionadas a través de una fuente de identidad. Los usuarios solo pueden iniciar sesión con una identidad federada si su administrador previamente configuró la federación de identidades mediante los roles de IAM. Cuando los usuarios acceden a AWS mediante la federación, están [asumiendo un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/when-to-use-iam.html#security-iam-authentication-iamrole) de forma indirecta. Cuando los usuarios utilizan este tipo de identidad, puede hacer lo siguiente:
  + Puede asignarles permisos de Kubernetes para que puedan trabajar con los objetos de Kubernetes en su clúster. Para obtener más información sobre cómo asignar permisos a las entidades principales de IAM para que puedan acceder a los objetos de Kubernetes en su clúster, consulte [Concesión de acceso para los usuarios de IAM a las entradas de acceso de Kubernetes con EKS](access-entries.md).
  + Puede asignarles permisos de IAM para que puedan trabajar con su clúster de Amazon EKS y sus recursos mediante la API de Amazon EKS, AWS CLI, AWS CloudFormation, Consola de administración de AWS o `eksctl`. Para obtener más información, consulte [Acciones definidas por Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions) en la Referencia de autorización de servicios.
  + Los nodos se unen al clúster asumiendo un rol de IAM. El acceso al clúster mediante las entidades principales de IAM está habilitado por el [Autenticador de IAM de AWS para Kubernetes](https://github.com/kubernetes-sigs/aws-iam-authenticator#readme), que se ejecuta en el plano de control de Amazon EKS.
+  **Un usuario en su propio proveedor de OpenID Connect (OIDC):** este tipo requiere la autenticación de su proveedor de [OIDC](https://openid.net/connect/). Para obtener más información acerca de cómo configurar su propio proveedor de OIDC con su clúster de Amazon EKS, consulte [Concesión de acceso a Kubernetes con un proveedor de OIDC externo para los usuarios](authenticate-oidc-identity-provider.md). Cuando los usuarios utilizan este tipo de identidad, puede hacer lo siguiente:
  + Puede asignarles permisos de Kubernetes para que puedan trabajar con los objetos de Kubernetes en su clúster.
  + No puede asignarles permisos de IAM para que puedan trabajar con su clúster de Amazon EKS y sus recursos mediante la API de Amazon EKS, la AWS CLI, la AWS CloudFormation, la Consola de administración de AWS o el `eksctl`.

Puede utilizar ambos tipos de identidades con su clúster. El método de autenticación de IAM no se puede deshabilitar. El método de autenticación de OIDC es opcional.

## Asociación de las identidades de IAM con los permisos de Kubernetes
<a name="authentication-modes"></a>

El [Autenticador de AWS IAM para Kubernetes](https://github.com/kubernetes-sigs/aws-iam-authenticator#readme) se instala en el plano de control del clúster. Permite a las entidades principales de [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) (IAM) (roles y usuarios) acceder a los recursos de Kubernetes en su clúster. Puede permitir que las entidades principales de IAM accedan a los objetos de Kubernetes en su clúster mediante uno de los siguientes métodos:
+  **Creación de entradas de acceso**: si su clúster tiene la versión de la plataforma igual o posterior a la que se indica en la sección [Requisitos previos](access-entries.md) de la versión de Kubernetes del clúster, le recomendamos que utilice esta opción.

  Utilice las *entradas de acceso* para administrar los permisos de Kubernetes de las entidades principales de IAM ajenos al clúster. Puede agregar y administrar el acceso al clúster mediante la API de EKS, la Interfaz de la línea de comandos de AWS, los SDK de AWS, AWS CloudFormation y la Consola de administración de AWS. Esto significa que puede administrar los usuarios con las mismas herramientas con las que creó el clúster.

  Para comenzar, siga [Cambio del modo de autenticación para usar entradas de acceso](setting-up-access-entries.md) y, a continuación, [Migración de las entradas existentes de aws-auth ConfigMap a entradas de acceso](migrating-access-entries.md).
+  **Agregar entradas al `aws-auth` `ConfigMap` **: si la versión de la plataforma del clúster es anterior a la que aparece en la sección de [Requisitos previos](access-entries.md), debe utilizar esta opción. Si la versión de la plataforma de su clúster es igual o posterior a la versión de la plataforma que aparece en la sección [Requisitos previos](access-entries.md) de la versión de Kubernetes de su clúster y ha agregado entradas al `ConfigMap`, le recomendamos que migre esas entradas para acceder a las ellas. Sin embargo, no puede migrar las entradas que Amazon EKS haya agregado al `ConfigMap`, como las entradas para los roles de IAM utilizadas con los grupos de nodos administrados o los perfiles de Fargate. Para obtener más información, consulte [Concesión a los usuarios y roles de IAM de acceso a las API de Kubernetes](#grant-k8s-access).
  + Si tiene que usar la opción de `ConfigMap` de `aws-auth`, puede añadir entradas al `ConfigMap` mediante el comando `eksctl create iamidentitymapping`. Para obtener más información, consulte [Administrar usuarios y roles de IAM](https://eksctl.io/usage/iam-identity-mappings/) en la documentación de `eksctl`.

## Establecimiento de nodos de autenticación del clúster
<a name="set-cam"></a>

Cada clúster tiene un *modo de autenticación*. El modo de autenticación determina los métodos que puede utilizar para permitir que las entidades principales de IAM accedan a los objetos de Kubernetes en su clúster. Existen tres modos de autenticación.

**importante**  
Una vez que se habilita el método de entrada de acceso, no se puede deshabilitar.  
Si el método `ConfigMap` no está habilitado durante la creación del clúster, no se podrá habilitar más adelante. Todos los clústeres creados antes de la introducción de las entradas de acceso tienen el método `ConfigMap` activado.  
Si usa nodos híbridos con el clúster, debe usar los modos de autenticación de clúster `API` o `API_AND_CONFIG_MAP`.

 **El `aws-auth` `ConfigMap` dentro del clúster**   
Este es el modo de autenticación original de los clústeres de Amazon EKS. La entidad principal de IAM que creó el clúster es el usuario inicial que puede acceder al clúster con `kubectl`. El usuario inicial debe añadir otros usuarios a la lista en el `ConfigMap` de `aws-auth` y asignar los permisos que afecten a los demás usuarios del clúster. Estos otros usuarios no pueden administrar ni eliminar al usuario inicial, ya que no hay ninguna entrada en el `ConfigMap` que administrar.

 **Tanto el `ConfigMap` como las entradas de acceso**   
Con este modo de autenticación, puede utilizar ambos métodos para añadir las entidades principales de IAM al clúster. Tenga en cuenta que cada método almacena entradas independientes; por ejemplo, si agrega una entrada de acceso desde la AWSCLI, el `aws-auth` `ConfigMap` no se actualiza.

 **Solo entradas de acceso**   
Con este modo de autenticación, puede utilizar la API de EKS, la Interfaz de la línea de comandos de AWS, los SDK de AWS, AWS CloudFormation y la Consola de administración de AWS para administrar el acceso al clúster de las entidades principales de IAM.  
Cada entrada de acceso tiene un *tipo* y puede utilizar la combinación de un *enlace de acceso* para limitar a la entidad principal a un espacio de nombres específico y una *política de acceso* para establecer políticas de permisos preconfiguradas y reutilizables. Como alternativa, puede usar el tipo STANDARD y los grupos de RBAC de Kubernetes para asignar permisos personalizados.


| Modo de autenticación | Métodos | 
| --- | --- | 
|  Solo `ConfigMap` (`CONFIG_MAP`) |  `aws-auth` `ConfigMap`  | 
| API de EKS y `ConfigMap` (`API_AND_CONFIG_MAP`) | entradas de acceso en la API de EKS, la Interfaz de línea de comandos de AWS, los SDK de AWS, AWS CloudFormation, la Consola de administración de AWS y `aws-auth` `ConfigMap`  | 
| Solo la API de EKS (`API`) | entradas de acceso en la API de EKS, la Interfaz de línea de comandos de AWS, los SDK de AWS, AWS CloudFormation y la Consola de administración de AWS  | 

**nota**  
El modo automático de Amazon EKS requiere entradas de acceso.