Función de Amazon ECS EventBridge IAM - 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.

Función de Amazon ECS EventBridge IAM

Para poder utilizar las tareas programadas de Amazon ECS con EventBridge reglas y objetivos, el EventBridge servicio necesita permisos para ejecutar las tareas de Amazon ECS en su nombre. Estos permisos los proporciona el rol de IAM de EventBridge (ecsEventsRole).

La política AmazonEC2ContainerServiceEventsRole se muestra a continuación.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

Si sus tareas programadas requieren el uso de la función de ejecución de tareas, una función de tarea o una anulación de la función de tarea, debe añadir iam:PassRole permisos para cada función de ejecución de tareas, función de tarea o anulación de función de tarea a la función de EventBridge IAM. Para obtener más información sobre el rol de ejecución de tareas, consulte Rol de IAM de ejecución de tareas de Amazon ECS.

nota

Especifique el ARN completo del rol de ejecución de tareas o el reemplazo del rol de tareas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }

Puede dejar que ellos AWS Management Console creen el EventBridge rol por usted al configurar una tarea programada. Para obtener más información, consulte Ejecute las tareas de Amazon ECS según lo programado con Amazon EventBridge Scheduler.

Creación del rol Amazon ECS EventBridge (ecsEventsRole)

Sustituya todas las entradas del usuario por su propia información.

  1. Cree un archivo con el nombre eventbridge-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": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Utilice el siguiente comando para crear un rol de IAM denominado ecsEventsRole mediante la política de confianza que creó en el paso anterior.

    aws iam create-role \ --role-name ecsEventsRole \ --assume-role-policy-document file://eventbridge-policy.json
  3. Adjunte AWS el AmazonEC2ContainerServiceEventsRole administrador al ecsEventsRole rol mediante el siguiente comando.

    aws iam attach-role-policy \ -\-role-name ecsEventsRole \ -\-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceEventsRole

También puede utilizar el flujo de trabajo de la política de confianza personalizada de la consola de IAM (https://console.aws.amazon.com/iam/) para crear el rol. Para obtener más información, consulte Creación de un rol mediante políticas de confianza personalizadas (consola) en la Guía del usuario de IAM.

Asociación de una política al rol ecsEventsRole

Puede utilizar los siguientes procedimientos para añadir permisos para la función de ejecución de tareas a la función de EventBridge IAM.

AWS Management Console
Para utilizar el editor de política de JSON para crear una política
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación de la izquierda, seleccione Políticas.

    Si es la primera vez que elige Políticas, aparecerá la página Bienvenido a políticas administradas. Elija Comenzar.

  3. En la parte superior de la página, seleccione Crear política.

  4. En la sección Editor de políticas, seleccione la opción JSON.

  5. Ingrese el siguiente documento de política JSON:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  6. Elija Siguiente.

    nota

    Puede alternar entre las opciones Visual y JSON del editor en todo momento. No obstante, si realiza cambios o selecciona Siguiente en la opción Visual del editor, es posible que IAM reestructure la política, con el fin de optimizarla para el editor visual. Para obtener más información, consulte Reestructuración de política en la Guía del usuario de IAM.

  7. En la página Revisar y crear, introduzca el Nombre de la política y la Descripción (opcional) para la política que está creando. Revise los Permisos definidos en esta política para ver los permisos que concede la política.

  8. Elija Create Policy (Crear política) para guardar la nueva política.

Después de crear la política, asocie la política al EventBridge rol. Para obtener información sobre cómo asociar la política al rol, consulte Modificación de la política de permisos de un rol (consola) en la Guía del AWS Identity and Access Management usuario.

AWS CLI

Sustituya todas las entradas del usuario por su propia información.

  1. Cree un archivo denominado ev-iam-passrole.json con el siguiente contenido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  2. Utilice el siguiente AWS CLI comando para crear la política de IAM mediante el archivo de documento de política JSON.

    aws iam create-policy \ --policy-name eventsTaskExecutionPolicy \ --policy-document file://ev-iam-passrole.json
  3. Recupere el ARN de la política de IAM que creó mediante el siguiente comando.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`eventsTaskExecutionPolicy`].Arn'
  4. Utilice el siguiente comando para adjuntar la política a la función de EventBridge IAM mediante el ARN de la política.

    aws iam attach-role-policy \ --role-name ecsEventsRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/eventsTaskExecutionPolicy