

# Rol de IAM de EventBridge de Amazon ECS
<a name="CWE_IAM_role"></a>

Para poder usar las tareas programadas de Amazon ECS con las reglas y los destinos de EventBridge, el servicio de EventBridge necesita varios permisos para ejecutar 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.

------
#### [ JSON ]

****  

```
{
    "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 las tareas programadas requieren el uso del rol de ejecución de tareas, un rol de tarea o una cancelación del rol de tarea, debe agregar permisos `iam:PassRole` para cada rol de ejecución de tareas, rol de tarea o cancelación del rol de tarea al rol de IAM de EventBridge. 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](task_execution_IAM_role.md).

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

------
#### [ JSON ]

****  

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

------

Puede optar por dejar que Consola de administración de AWS cree el rol de EventBridge por usted cuando configure una tarea programada. Para obtener más información, consulte [Uso de Programador de Amazon EventBridge para programar tareas de Amazon ECS](tasks-scheduled-eventbridge-scheduler.md).

## Creación del rol de EventBridge
<a name="cw-iam-role-create"></a>

Sustituya cada *entrada del usuario* por información propia.

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:

------
#### [ JSON ]

****  

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

------

1. Utilice el siguiente comando para crear un rol de IAM con el nombre `ecsEventsRole` mediante la política de confianza que se creó en el paso anterior.

   ```
   aws iam create-role \
         --role-name ecsEventsRole \
         --assume-role-policy-document file://eventbridge-trust-policy.json
   ```

1. Adjunte la política administrada de AWS `AmazonEC2ContainerServiceEventsRole` al rol `ecsEventsRole` con el siguiente comando.

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

También puede usar el flujo de trabajo de **Política de confianza personalizada** de la consola de IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) para crear el rol. Para obtener instrucciones, consulte [Creating a role using custom trust policies (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

## Asociación de una política al rol `ecsEventsRole`
<a name="cw-iam-role-attach"></a>

Puede utilizar los siguientes procedimientos para agregar permisos para el rol de ejecución de tareas al rol de IAM de EventBridge.

------
#### [ Consola de administración de AWS ]

**Utilización del editor de política de JSON para la creación de una política**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la izquierda, elija **Políticas**. 

   Si es la primera vez que elige **Políticas**, aparecerá la página **Welcome to Managed Policies** (Bienvenido a políticas administradas). Elija **Comenzar**.

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

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

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

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

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) en la *Guía del usuario de IAM*.

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

1. Elija **Crear política** para guardar la nueva política.

Después de crear la política, adjúntela al rol de EventBridge. Para obtener información acerca de cómo asociar la política al rol, consulte [Actualización de los permisos de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) en la *Guía del usuario de AWS Identity and Access Management*.

------
#### [ AWS CLI ]

Sustituya cada *entrada del usuario* por información propia.

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

------
#### [ JSON ]

****  

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

------

1. Utilice el siguiente comando de la AWS CLI para crear la política de IAM con el archivo de documento de política de JSON.

   ```
   aws iam create-policy \
         --policy-name eventsTaskExecutionPolicy \
         --policy-document file://ev-iam-passrole.json
   ```

1. 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'
   ```

1. Utilice el siguiente comando para adjuntar la política al rol de IAM de EventBridge mediante el ARN de la política.

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

------