Amazon ECS ejecución de tareas IAM función - 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.

Amazon ECS ejecución de tareas IAM función

El rol de ejecución de tareas concede el Amazon ECS y los agentes de Fargate tienen permiso para realizar AWS Las llamadas a la API en su nombre. La ejecución de la tarea IAM del rol de , según el de su tarea de. Puede tener varios roles de ejecución de tareas para diferentes fines y servicios asociados a su cuenta de.

Los siguientes son casos de uso comunes para una ejecución de tarea IAM función:

nota

El rol de ejecución de tareas es compatible con Amazon ECS del agente de contenedor de versión 1.16.0 y más tarde.

Amazon ECS proporciona la política administrada denominada AmazonECSTaskExecutionRolePolicy que contiene los permisos que requieren los casos de uso comunes descritos anteriormente. Puede ser necesario para agregar políticas insertadas a su rol de ejecución de tareas para casos de uso especiales que son que se describe a continuación.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }

Un Amazon ECS El rol de ejecución de tareas de se crea automáticamente en la pestaña Amazon ECS consola la experiencia de primera ejecución; sin embargo, debe adjuntar manualmente la experiencia administrada IAM política para tareas para permitir Amazon ECS para añadir permisos para futuras características y mejoras a medida que introducido. Puede utilizar el siguiente procedimiento para comprobar y ver si su cuenta ya tiene el Amazon ECS del rol de ejecución de tareas de y para asociar el rol de IAM política si es necesario.

Para comprobar la ecsTaskExecutionRole en el IAM consola

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

  2. En el panel de navegación, elija Funciones.

  3. Buscar en la lista de roles para ecsTaskExecutionRole. Si el rol no existe, consulte Creación de la ejecución de tareas IAM función. Si el rol existe, seleccione la opción para ver las políticas asociadas.

  4. En la Permisos , asegúrate de que la pestaña Política de rol de ejecución de tarea de Amazon ECST la política administrada está asociada al rol. Si la política está asociada, su Amazon ECS el rol de ejecución de tareas es correcto configurado. Si no es así, siga los subpasos siguientes para adjuntar la política.

    1. Elegir Asociar políticas.

    2. Para reducir las políticas disponibles para asociar, para Filtro, tipo Política de rol de ejecución de tarea de Amazon ECST.

    3. Marca la casilla a la izquierda del Política de rol de ejecución de tarea de Amazon ECST y elige Asociar política.

  5. Elegir Relaciones de confianzade Editar confianza relación.

  6. Compruebe que la relación de confianza contiene la siguiente política. Si la confianza la relación coincide con la siguiente política, elige [EMPTY]. Si el la relación de confianza no coincide, copie la política en el campo Política Documento y selecciona [EMPTY] Política.

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

Creación de la ejecución de tareas IAM función

Si su cuenta no tiene ya un rol de ejecución de tareas, siga estos pasos para crear el rol de.

Para crear el ecsTaskExecutionRole IAM función

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

  2. En el panel de navegación, elija Funcionesde [EMPTY] función.

  3. En la pestaña Seleccionar tipo de entidad de confianza selecciona Servicio de Elastic Container.

  4. Para Seleccione su caso de uso, elige Elástico Tarea de servicio de contenedory, a continuación, elige Siguiente: Permisos.

  5. En la pestaña Asociar política de permisos sección, buscar Política de rol de ejecución de tarea de Amazon ECST, seleccione la política, y luego elige Siguiente: Revisión.

  6. Para Nombre de función, tipo ecsTaskExecutionRole y elegir Crear rol.

Obligatorio IAM Permisos de para privado autentificación del registro

El Amazon ECS El rol de ejecución de tareas de es necesario para utilizar la autenticación del registro privado característica. Esto permite que el agente de contenedor de extraiga la imagen de contenedor. Para más información información, consulte Autenticación de registros privados para tareas.

Para proporcionar acceso a los secretos que cree, añada manualmente lo siguiente Los permisos de como una política insertada para el rol de ejecución de tareas de. Para obtener más información, consulte Adición de y Eliminación de políticas de IAM.

  • secretsmanager:GetSecretValue

  • kms:Decrypt—Solo es necesario si la clave utiliza un KMS personalizado y no la clave predeterminada. El ARN de la clave personalizada debe añadirse como del recurso de.

A continuación se muestra una política insertada de ejemplo que añade los permisos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }

Obligatorio IAM permisos para Amazon ECS secretos

Para utilizar la Amazon ECS la característica de secretos de , debe tener la función Amazon ECS del rol de ejecución de tareas de y hacer referencia a él en la definición de tarea. Esto permite que el agente de contenedor de extraiga el necesario AWS Administrador de sistemas o bien Secrets Manager Los recursos de. Para obtener más información, consulte Especificación de información confidencial.

Para proporcionar acceso a la AWS Administrador de sistemas Los parámetros del almacén de parámetros que cree, añada manualmente los siguientes permisos como una política insertada al rol de ejecución de tareas. Para obtener más información, consulte Adición y eliminación Políticas de IAM.

  • ssm:GetParameters—Obligatorio si hace referencia a un Administrador de sistemas Parámetro Parameter Store en una definición de tarea.

  • secretsmanager:GetSecretValue—Obligatorio si es haciendo referencia a un Secrets Manager secreto directamente o si su Administrador de sistemas Almacén de parámetros el parámetro hace referencia a un Secrets Manager secreto en una definición de tarea.

  • kms:Decrypt—Solo es necesario si el secreto utiliza un KMS personalizado y no la clave predeterminada. El ARN de la clave personalizada debe añadirse como del recurso de.

La siguiente política insertada de ejemplo añade los permisos necesarios:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

Opcional IAM permisos para Fargate tareas de extracción Amazon ECR imágenes a través de puntos de enlace de interfaz

Al lanzar tareas que utilizan la Fargate tipo de lanzamiento que extrae imágenes de Amazon ECR cuando Amazon ECR está configurado para utilizar un punto de enlace de la VPC de tipo interfaz, puede restringir Las tareas de acceden a una VPC o punto de enlace de la VPC específicos. Para ello, cree una ejecución de tarea Rol de para las tareas de que utilizar que utilizan IAM Claves de condición de.

Utilice lo siguiente IAM Las claves de condición globales de para restringir el acceso a una VPC específica o Punto de enlace de la VPC. Para obtener más información, consulte Condición global de AWS Teclas de contexto.

  • aws:SourceVpc—Restringe el acceso a una VPC específica.

  • aws:SourceVpce—Restringe el acceso a una VPC específica Punto de enlace de.

La siguiente política de rol de ejecución de tareas proporciona un ejemplo para añadir una condición teclas:

importante

El ecr:GetAuthorizationToken La acción de la API no puede tener el aws:sourceVpc o bien aws:sourceVpce claves de condición aplicadas porque la llamada a la API GetAuthorizationToken pasa por la red elástica la interfaz es propiedad de AWS Fargate en lugar de la interfaz de red elástica del tarea.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpce": "vpce-xxxxxx", "aws:sourceVpc": "vpc-xxxxx" } } } ] }