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

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

Verificación del rol de IAM de la instancia de contenedor de Amazon ECS

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 verificar el ecsInstanceRole en la consola de IAM

  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 Filter roles (Filtrado de roles), escriba ecsInstanceRole. Si el rol no existe, créelo. Para obtener más información, consulte Creación del rol de IAM de instancia de contenedor de Amazon ECS .

    Si el rol existe, selecciónelo para ver sus políticas asociadas.

  4. Elija la pestaña Permissions (Permisos).

  5. En la sección Permissions policies (Políticas de permisos), verifique de que la política administrada AmazonEC2ContainerServiceforEC2Role o una política personalizada equivalente, esté asociada al rol. Si la política está asociada es porque el rol de la instancia de contenedor se configuró correctamente. En caso contrario, siga los pasos derivados a continuación para asociar la política.

    importante

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

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

    2. En el cuadro de búsqueda Filter policies (Políticas de filtrado), escriba AmazonEC2ContainerServiceforEC2Role y, a continuación, seleccione la política.

    3. Elija Attach (Adjuntar).

    4. En el cuadro de búsqueda Filter roles (Filtrado de roles), escriba ecsInstanceRole.

    5. Marque la casilla a la izquierda del rol ecsInstanceRole y, a continuación, seleccione Attach policy (Adjuntar política).

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

    7. En el cuadro de búsqueda Filter roles (Filtrado de roles), escriba ecsInstanceRole.

  6. Elija la pestaña Trust relationships (Relaciones de confianza) y, a continuación, Edit trust relationship (Editar relación de confianza).

  7. 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, copie la política en la ventana Policy Document (Documento de la política) y seleccione Update Trust Policy (Actualizar la política de confianza).

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

Creación del rol de IAM de instancia de contenedor de Amazon ECS

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 Attach permissions policy (Asociar política de permisos), verifique que la política AmazonEC2ContainerServiceforEC2Role esté seleccionada y, a continuación, elija Next: Tags (Siguiente: Etiquetas).

    importante

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

  6. En Add tags (optional) (Agregar etiquetas [opcional]), especifique las etiquetas personalizadas que desee asociar a la política y, a continuación, elija Next: Review (Siguiente: revisar).

  7. En Role name (Nombre de rol), escriba ecsInstanceRole y una descripción si lo desea.

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

Crear el rol de IAM ecsInstanceRole para las instancias de contenedor mediante la AWS CLI

  1. Cree un perfil de instancia denominado ecsInstanceRole-profile mediante el comando create-instance-profile.

    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 de acceso de solo lectura de Amazon S3 al rol de IAM de instancia de contenedor

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 Filter policies (Filtrar políticas), escriba AmazonS3ReadOnlyAccess y, a continuación, seleccione 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 Filter roles (Filtrado de roles), escriba ecsInstanceRole.

  6. Marque la casilla a la izquierda del rol ecsInstanceRole y, a continuación, seleccione Attach policy (Adjuntar política).