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

Rol de IAM de Amazon ECS Anywhere

Cuando registra un servidor ubicado en las instalaciones o una máquina virtual (VM) en el clúster, el servidor o la VM requieren un rol de IAM para comunicarse con las API de AWS. Solo tiene que crear este rol de IAM una vez por cada cuenta de AWS. Sin embargo, este rol de IAM debe asociarse a cada servidor o máquina virtual que se registre en un clúster. Este rol es el ECSAnywhereRole. Este rol se puede crear manualmente. Como alternativa, Amazon ECS puede crear el rol en su nombre cuando registre una instancia externa en la AWS Management Console. Puede utilizar la búsqueda en la consola de IAM para buscar ecsAnywhereRole y ver si la cuenta ya dispone del rol. Para obtener más información, consulte IAM console search en la Guía del usuario de IAM.

AWS proporciona dos políticas de IAM administradas que se pueden utilizar al crear las políticas de rol de IAM, AmazonSSMManagedInstanceCore y AmazonEC2ContainerServiceforEC2Role de ECS Anywhere. La política AmazonEC2ContainerServiceforEC2Role incluye permisos que probablemente proporcionen más acceso del que necesita. Por lo tanto, según su caso de uso específico, le recomendamos que cree una política personalizada que agregue solo los permisos de esa política que necesite incluir en ella. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.

El rol de IAM de ejecución de tareas concede permiso al agente de contenedor de Amazon ECS para realizar llamadas a la API de AWS en su nombre. Cuando se utiliza un rol de IAM de ejecución de tareas, debe especificarse en la definición de tareas. Para obtener más información, consulte Rol de IAM de ejecución de tareas de Amazon ECS.

Se requiere el rol de ejecución de tareas si se aplica alguna de las siguientes condiciones:

  • Está enviando registros de contenedor a CloudWatch Logs mediante el controlador de registros awslogs.

  • La definición de tareas especifica una imagen de contenedor alojada en un repositorio privado de Amazon ECR. Sin embargo, si el rol ECSAnywhereRole asociado a su instancia externa también incluye los permisos necesarios para extraer imágenes de Amazon ECR, no es necesario que se incluyan en el rol de ejecución de tareas.

Creación del rol de Amazon ECS Anywhere

Sustituya cada entrada del usuario por información propia.

  1. Cree un archivo local denominado ssm-trust-policy.json con la siguiente política de confianza.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. Utilice el siguiente comando de la AWS CLI para crear el rol y adjuntar la política de confianza.

    aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
  3. Utilice el siguiente comando para adjuntar las políticas administradas de AWS.

    aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

También puede utilizar el flujo de trabajo de la política de confianza personalizada 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.