Cómo funciona Amazon EKS con IAM - Amazon EKS

Cómo funciona Amazon EKS con IAM

Antes de utilizar IAM para administrar el acceso a Amazon EKS, debe conocer qué características de IAM se encuentran disponibles con Amazon EKS. Para obtener una perspectiva general sobre cómo funcionan Amazon EKS y otros servicios de AWS con IAM, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.

Políticas de Amazon EKS basadas en identidades

Con las políticas basadas en identidades de IAM, puede especificar las acciones y recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Amazon EKS admite acciones, claves de condiciones y recursos específicos. Para obtener más información acerca de los elementos que utiliza en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.

Actions

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.

El elemento Action de una política JSON describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos para realizar la operación asociada.

Las acciones de políticas de Amazon EKS utilizan el siguiente prefijo antes de la acción: eks:. Por ejemplo, para conceder permiso a alguien para conseguir información descriptiva sobre un clúster de Amazon EKS, incluya la acción DescribeCluster en su política. Las instrucciones de la política deben incluir un elemento Action o un elemento NotAction.

Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:

"Action": ["eks:<action1>", "eks:<action2>"]

Puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas las acciones que comiencen con la palabra Describe, incluya la siguiente acción:

"Action": "eks:Describe*"

Para ver una lista de las acciones de Amazon EKS, consulte Acciones definidas por Amazon Elastic Kubernetes Service en la Referencia de autorizaciones de servicio.

Resources

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.

El elemento Resource de la política JSON especifica el objeto u objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

El recurso del clúster de Amazon EKS tiene el siguiente ARN:

arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}

Para obtener más información acerca del formato de los ARN, consulte Nombres de recursos de Amazon (ARN) y espacios de nombres de servicios de AWS.

Por ejemplo, para especificar el clúster de dev en su instrucción, utilice el siguiente ARN:

"Resource": "arn:aws:eks:<region-code>:123456789012:cluster/dev"

Para especificar todos los clústeres que pertenecen a una cuenta y una región específicas, utilice el carácter comodín (*):

"Resource": "arn:aws:eks:<region-code>:123456789012:cluster/*"

Algunas acciones de Amazon EKS, como las que se utilizan para crear recursos, no se pueden llevar a cabo en un recurso específico. En dichos casos, debe utilizar el carácter comodín (*).

"Resource": "*"

Para ver una lista de los tipos de recursos y sus ARN de Amazon EKS, consulte Recursos definidos por Amazon Elastic Kubernetes Service en la Referencia de autorizaciones de servicio. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte Acciones definidas por Amazon Elastic Kubernetes Service.

Claves de condición

Amazon EKS define su propio conjunto de claves de condición y también admite el uso de algunas claves de condición globales. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWS en la Guía del usuario de IAM.

Puede establecer claves de condición al asociar un proveedor de OpenID Connect al clúster. Para obtener más información, consulte Política de IAM de ejemplo.

Todas las acciones de Amazon EC2 admiten las claves de condición aws:RequestedRegion y ec2:Region. Para obtener más información, consulte Ejemplo: Restricción del acceso a una región específica.

Para obtener una lista de las claves de condición de Amazon EKS, consulte Claves de condición de Amazon Elastic Kubernetes Service en la Referencia de autorizaciones de servicio. Para obtener más información sobre las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por Amazon Elastic Kubernetes Service.

Examples

Para ver ejemplos de políticas de Amazon EKS basadas en identidades, consulte Ejemplos de políticas de Amazon EKS basadas en identidades.

Cuando se crea un clúster de Amazon EKS, al usuario de entidad de IAM o al rol, como un usuario federado que crea el clúster, se le conceden permisos de system:masters de forma automática en la configuración RBAC del clúster en el panel de control. Esta entidad de IAM no aparece en el ConfigMap, ni en ninguna otra configuración visible, así que asegúrese de realizar un seguimiento de la entidad de IAM que creó originalmente el clúster. Para permitir que otros usuarios o roles de AWS interactúen con el clúster, debe editar el ConfigMap de aws-auth desde Kubernetes.

Para obtener información adicional sobre cómo trabajar con el ConfigMap, consulte Administración de usuarios o roles de IAM para su clúster.

Políticas basadas en recursos de Amazon EKS

Amazon EKS no admite las políticas basadas en recursos.

Autorización basada en etiquetas de Amazon EKS

Puede asociar etiquetas a los recursos de Amazon EKS o transferirlas en una solicitud a Amazon EKS. Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición eks:ResourceTag/<key-name>, aws:RequestTag/<key-name> o aws:TagKeys. Para obtener más información sobre el etiquetado de recursos de Amazon EKS, consulte Etiquetado de los recursos de Amazon EKS.

Roles de IAM de Amazon EKS

Un rol de IAM es una entidad de la cuenta de AWS que dispone de permisos específicos.

Uso de credenciales temporales con Amazon EKS

Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen mediante una llamada a operaciones de la API de AWS STS , como AssumeRole o GetFederationToken.

Amazon EKS admite el uso de credenciales temporales.

Roles vinculados a servicios

Los roles vinculados a servicios permiten a los servicios de AWS obtener acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles vinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Amazon EKS admite roles vinculados a servicios. Para obtener más información sobre cómo crear o administrar roles vinculados a servicios de Amazon EKS, consulte Utilizar roles vinculados a servicios para Amazon EKS.

Roles de servicio

Esta característica permite que un servicio asuma un rol de servicio en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles de servicio aparecen en su cuenta de IAM y son propiedad de la cuenta. Esto significa que un administrador de IAM puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.

Amazon EKS admite roles de servicio. Para obtener más información, consulte Rol de IAM del clúster de Amazon EKS y Rol de IAM de nodo de Amazon EKS.

Elegir un rol de IAM en Amazon EKS

Cuando se crea un recurso de clúster en Amazon EKS, debe elegir un rol para permitir a Amazon EKS acceder a otros recursos de AWS en su nombre. Si ya ha creado una función del servicio, Amazon EKS proporciona una lista de roles para elegir. Es importante que elija un rol que cuente con políticas administradas de Amazon EKS asociadas a él. Para obtener más información, consulte Comprobar si existe un rol de clúster existente y Verificar un rol de nodo existente.