Rol de IAM de instancia de contenedor de Amazon ECS - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Rol de IAM de instancia de contenedor de Amazon ECS

Las instancias de contenedor de Amazon ECS, incluidas las instancias de Amazon EC2 y las externas, ejecutan el agente de contenedor de Amazon ECS y requieren un rol de IAM para que el servicio sepa que el agente le pertenece. Antes de lanzar instancias de contenedor y registrarlas en un clúster, debe crear un rol de IAM para que lo utilicen las instancias de contenedor. El rol se crea en la cuenta que utiliza para iniciar sesión en la consola o ejecutar los comandos AWS CLI.

importante

Si está registrando instancias externas en el clúster, el rol de IAM que utiliza también requiere permisos de Systems Manager. Para obtener más información, consulte Permisos de IAM requeridos para instancias externas.

Amazon ECS proporciona la política de IAM administrada AmazonEC2ContainerServiceforEC2Role, que contiene los permisos necesarios para utilizar el conjunto completo de características de Amazon ECS. Esta política administrada se puede asociar a un rol de IAM y a las instancias de contenedor. También puede utilizar la política administrada como guía cuando crea la política personalizada que va a utilizar. El rol de instancia de contenedor proporciona los permisos necesarios para que el agente de contenedor de Amazon ECS y el daemon de Docker puedan llamar a las API de AWS en su nombre. Para obtener más información acerca de la política administrada, consulte ContainerServiceforFunción EC2 de Amazon EC2.

Comprobación de la instancia de contenedor (ecsInstanceRole) en la consola de IAM

El rol de instancia de Amazon ECS se crea automáticamente cuando se completa la experiencia de primer uso de la consola de Amazon ECS. Sin embargo, puede crear el rol manualmente y asociarlo a la política de IAM administrada para instancias de contenedor a fin de permitir que Amazon ECS agregue permisos para futuras características y mejoras a medida que se vayan introduciendo. Utilice el procedimiento siguiente para comprobar si la cuenta ya dispone del rol de IAM de instancia de contenedor de Amazon ECS y para asociar la política de IAM administrada, de ser necesario.

importante

La política administrada de ContainerServiceforAmazonEC2 debe estar asociada al rol de IAM de instancia de contenedor; de lo contrario, recibirá un error al utilizar laAWS Management Console para crear clústeres.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles (Roles) en el panel de navegación.

  3. En el cuadro de búsqueda, escriba ecsInstanceRole. Si el rol existe, selecciónelo para ver sus políticas asociadas.

  4. En la pestaña Permisos, compruebe que el ContainerServiceforrol EC2 de AmazonEC2 esté asociado al rol.

    1. Elija Add Permissions (Agregar permisos), Attach policies (Asociar políticas).

    2. En Filtro, ingrese AmazonEC2ContainerServicefor EC2Role para reducir la lista de las políticas disponibles para asociar.

    3. Marque la casilla situada a la izquierda de la política ContainerServiceforEC2Role de AmazonEC2 y elija Asociar política.

  5. Seleccione Trust Relationships.

  6. Compruebe que la relación de confianza contiene la siguiente política. Si la relación de confianza coincide con la política a continuación, seleccione Cancel. Si la relación de confianza no coincide, elija Edit trust policy (Editar la política de confianza) en la ventana Policy Document (Documento de política) y seleccione Update policy (Política de actualización).

    { "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Creación del rol de instancia de contenedor (ecsInstanceRole)

importante

Si está registrando instancias externas en el clúster, consulte Permisos de IAM requeridos para instancias externas.

El rol de instancia de Amazon ECS se crea automáticamente cuando se completa la experiencia de primer uso de la consola de Amazon ECS. Sin embargo, puede crear el rol manualmente y asociarlo a la política de IAM administrada para instancias de contenedor a fin de permitir que Amazon ECS agregue permisos para futuras características y mejoras a medida que se vayan introduciendo. Utilice el procedimiento siguiente para comprobar si la cuenta ya dispone del rol de IAM de instancia de contenedor de Amazon ECS y para asociar la política de IAM administrada, de ser necesario.

Para crear el rol de IAM ecsInstanceRole para las instancias de contenedor
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Roles y luego seleccione Create role.

  3. Elija el tipo de rol de servicio de AWS y luego elija Elastic Container Service.

  4. Elija el caso de uso EC2 Role for Elastic Container Service (Rol de EC2 para un servicio de contenedor elástico) y, a continuación, elija Next: Permissions (Siguiente: permisos).

  5. En la sección Políticas de permisos, compruebe que la política ContainerServiceforEC2Role de AmazonEC2 esté seleccionada y, a continuación, elija Siguiente.

    importante

    La política administrada de ContainerServiceforAmazonEC2 debe estar asociada al rol de IAM de instancia de contenedor; de lo contrario, recibirá un error al utilizar laAWS Management Console para crear clústeres.

  6. En Nombre de rol, introduzca ecsInstanceRoley, si lo desea, puede introducir una descripción.

  7. En Agregar etiquetas (opcional), ingrese las etiquetas personalizadas que desee asociar a la política y, a continuación, elija Siguiente: revisar.

  8. Revise la información del rol y, luego, seleccione Create role para terminar.

Para crear el rol ecsInstanceRole (AWS CLI)
  1. Cree un perfil de instancia denominadoecsInstanceRole-profile mediante el create-instance-profilecomando.

    aws iam create-instance-profile --instance-profile-name ecsInstanceRole-profile

    Respuesta de ejemplo

    { "InstanceProfile": { "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE", "Roles": [], "CreateDate": "2022-04-12T23:53:34.093Z", "InstanceProfileName": "ecsInstanceRole-profile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole-profile" } }
  2. Añada el rol ecsInstanceRole al perfil de instancia ecsInstanceRole-profile.

    aws iam add-role-to-instance-profile \ --instance-profile-name ecsInstanceRole-profile \ --role-name ecsInstanceRole

Adición del acceso de solo lectura de Amazon S3 al rol de instancia de contenedor (ecsInstanceRole)

El almacenamiento de la información de configuración en un bucket privado en Amazon S3 y la concesión de acceso de solo lectura al rol de IAM de instancia de contenedor es una forma práctica y segura de permitir la configuración de instancia de contenedor en el momento del lanzamiento. Puede almacenar una copia del archivo ecs.config en un bucket privado, utilizar los datos de usuario de Amazon EC2 para instalar la AWS CLI y, a continuación, copiar la información de configuración en /etc/ecs/ecs.config cuando se lance la instancia.

Para obtener más información acerca de cómo crear un archivo ecs.config, almacenarlo en Amazon S3 y lanzar instancias con esta configuración, consulte Almacenamiento de la configuración de instancia de contenedor en Amazon S3.

Para permitir acceso de solo lectura de Amazon S3 para su rol de instancia de contenedor
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

  3. En el cuadro de búsqueda de políticas de filtrado, escriba AmazonS3 yReadOnlyAccess, a continuación, elija la política.

    nota

    Esta política permite acceso de solo lectura a todos los recursos de Amazon S3. Para ver ejemplos de políticas de bucket más restrictivas, consulte Ejemplos de políticas de bucket en la Guía para usuarios de Amazon Simple Storage Service.

  4. Elija Attach (Adjuntar).

  5. En el cuadro de búsqueda Filtrar funciones, introduzca ecsInstanceRole.

  6. Marque la casilla situada a la izquierda del ecsInstanceRolerol y, luego, elija Asociar política.