Rol de IAM de infraestructura de Amazon ECS - Amazon Elastic Container Service

Rol de IAM de infraestructura de Amazon ECS

Un rol de IAM de infraestructura de Amazon ECS permite a Amazon ECS administrar los recursos de infraestructura de sus clústeres en su nombre y se utiliza cuando:

  • Adjunte volúmenes de Amazon EBS a sus tareas de Amazon ECS del tipo lanzamiento de Fargate o EC2. El rol de infraestructura permite a Amazon ECS administrar los volúmenes de Amazon EBS para sus tareas.

  • Utilice la seguridad de la capa de transporte (TLS) para cifrar el tráfico entre sus servicios de Amazon ECS Service Connect.

Cuando Amazon ECS asume este rol para tomar medidas en su nombre, los eventos estarán visibles en AWS CloudTrail. Si Amazon ECS utiliza el rol para administrar los volúmenes de Amazon EBS adjuntos a sus tareas, el valor de roleSessionName del registro de CloudTrail será ECSTaskVolumesForEBS. Si el rol se utiliza para cifrar el tráfico entre los servicios de Service Connect, el roleSessionName del registro de CloudTrail será ECSServiceConnectForTLS. Para usar este nombre para buscar eventos en la consola de CloudTrail, filtre por Nombre de usuario.

Amazon ECS proporciona políticas administradas que contienen los permisos necesarios para adjuntar volúmenes y TLS. Para obtener más información, consulte AmazonECSInfrastructureRolePolicyForVolumes y AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity en la Guía de referencia de políticas administradas de AWS.

Creación del rol de infraestructura de Amazon ECS

Sustituya cada entrada del usuario por información propia.

  1. Cree un archivo con el nombre ecs-infrastructure-trust-policy.json, que contenga la política de confianza que se va a utilizar para el rol de IAM. El archivo debe contener lo siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Utilice el siguiente comando de la AWS CLI para crear un rol con el nombre ecsInfrastructureRole mediante la política de confianza que creó en el paso anterior.

    aws iam create-role \ --role-name ecsInfrastructureRole \ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
  3. Según su caso de uso, adjunte la política administrada de AWS AmazonECSInfrastructureRolePolicyForVolumes o AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity al rol ecsInfrastructureRole.

    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForVolumes
    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity

También puede usar el flujo de trabajo de Política de confianza personalizada de la consola de IAM para crear el rol. Para obtener instrucciones, consulte Creating a role using custom trust policies (console) en la Guía del usuario de IAM.

importante

Si Amazon ECS utiliza el rol de infraestructura de ECS para administrar los volúmenes de Amazon EBS adjuntos a sus tareas, asegúrese de lo siguiente antes de detener las tareas que utilizan volúmenes de Amazon EBS.

  • El rol no se ha eliminado.

  • La política de confianza del rol no se modifica para eliminar el acceso a Amazon ECS (ecs.amazonaws.com).

  • La política administrada AmazonECSInfrastructureRolePolicyForVolumes no se ha eliminado. Si debe modificar los permisos del rol, retenga al menos ec2:DetachVolume, ec2:DeleteVolume y ec2:DescribeVolumes para eliminar el volumen.

Si se elimina o modifica el rol antes de detener las tareas con volúmenes de Amazon EBS adjuntos, las tareas se atascarán en DEPROVISIONING y los volúmenes de Amazon EBS asociados no se podrán eliminar. Amazon ECS volverá a intentarlo automáticamente a intervalos regulares para detener la tarea y eliminar el volumen hasta que se restablezcan los permisos necesarios. Puede ver el estado del adjunto del volumen de una tarea y el motivo del estado asociado mediante la API DescribeTasks.

Después de crear el archivo, debe conceder a su usuario permiso para transferir el rol a Amazon ECS.

Permiso para transferir el rol de infraestructura a Amazon ECS

Para utilizar un rol de IAM de infraestructura de ECS, debe conceder a su usuario permiso para transferir el rol a Amazon ECS. Adjunte el siguiente permiso iam:PassRole a su usuario. Sustituya ecsInstanceRole por el nombre del rol de infraestructura que haya creado.

{ "Version": "2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInfrastructureRole"], "Condition": { "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"} } } ] }

Para obtener más información sobre iam:Passrole y la actualización de permisos de su usuario, consulte Granting a user permissions to pass a role to an AWS service y Changing permissions for an IAM user en la Guía del usuario de AWS Identity and Access Management.