

# Perfil do IAM para EventBridge do Amazon ECS
<a name="CWE_IAM_role"></a>

Antes de poder usar tarefas programadas do Amazon ECS com regras e destinos do EventBridge, o serviço do EventBridge precisa de permissões para executar tarefas do Amazon ECS em seu nome. Essas permissões são fornecidas pelo perfil do IAM do EventBridge (`ecsEventsRole`).

A política `AmazonEC2ContainerServiceEventsRole` é mostrada abaixo.

------
#### [ 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"]
                }
            }
        }
    ]
}
```

------

Se as tarefas programadas exigirem o uso do perfil de execução de tarefa, um perfil de tarefa ou uma substituição de perfil de tarefa, você deverá adicionar permissões `iam:PassRole` em cada perfil de execução de tarefa, perfil de tarefa ou substituição de perfil de tarefa ao perfil do IAM do EventBridge. Para obter mais informações sobre a função de execução de tarefas, consulte [Função do IAM de execução de tarefas do Amazon ECS](task_execution_IAM_role.md).

**nota**  
Especifique o ARN completo da função de execução de tarefa ou da substituição da função de tarefa.

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

****  

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

------

Você pode permitir que o Console de gerenciamento da AWS crie o perfil do EventBridge ao configurar uma tarefa programada. Para obter mais informações, consulte [Uso do Agendador do Amazon EventBridge para programar tarefas do Amazon ECS](tasks-scheduled-eventbridge-scheduler.md).

## Criar o perfil do EventBridge
<a name="cw-iam-role-create"></a>

Substitua cada *entrada do usuário* por suas próprias informações.

1. Crie um arquivo denominado `eventbridge-trust-policy.json` que contenha a política de confiança a ser usada para a função do IAM. O arquivo deve conter o seguinte:

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

****  

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

------

1. Use o comando a seguir para criar um perfil do IAM denominado `ecsEventsRole` usando a política de confiança criada na etapa anterior.

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

1. Anexe o `AmazonEC2ContainerServiceEventsRole` gerenciado pela AWS ao perfil `ecsEventsRole` usando o comando a seguir.

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

Você também pode usar o fluxo de trabalho da **Política de confiança personalizada** do console do IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) para criar o perfil. Para obter mais informações, consulte [Criar um perfil usando políticas de confiança personalizadas (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

## Anexação de uma política ao perfil do `ecsEventsRole`
<a name="cw-iam-role-attach"></a>

Use os procedimentos a seguir para adicionar permissões do perfil de execução de tarefas ao perfil do IAM para EventBridge.

------
#### [ Console de gerenciamento da AWS ]

**Para usar o editor de políticas JSON para criar uma política**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação à esquerda, escolha **Políticas**. 

   Se essa for a primeira vez que você escolhe **Políticas**, a página **Bem-vindo às políticas gerenciadas** será exibida. Escolha **Começar**.

1. Na parte superior da página, escolha **Criar política**.

1. Na seção **Editor de políticas**, escolha a opção **JSON**.

1. Insira o seguinte 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. Escolha **Próximo**.
**nota**  
É possível alternar entre as opções de editor **Visual** e **JSON** a qualquer momento. Porém, se você fizer alterações ou escolher **Próximo** no editor **Visual**, o IAM poderá reestruturar a política a fim de otimizá-la para o editor visual. Para obter mais informações, consulte [Restruturação de política](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) no *Guia do usuário do IAM*.

1. Na página **Revisar e criar**, insira um **Nome de política** e uma **Descrição** (opcional) para a política que você está criando. Revise **Permissões definidas nessa política** para ver as permissões que são concedidas pela política.

1. Escolha **Criar política** para salvar sua nova política.

Depois de criar a política, anexe-a ao perfil do EventBridge. Para obter informações sobre como anexar uma política a um perfil, consulte [Atualizar permissões para um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) no *Guia do usuário do AWS Identity and Access Management*.

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

Substitua cada *entrada do usuário* por suas próprias informações.

1. Crie um arquivo denominado `ev-iam-passrole.json` com o seguinte conteúdo.

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

****  

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

------

1. Use o comando da AWS CLI a seguir para criar a política do IAM usando o arquivo de documento da política JSON.

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

1. Recupere o ARN da política do IAM que você criou usando o comando a seguir.

   ```
   aws iam list-policies --scope Local --query 'Policies[?PolicyName==`eventsTaskExecutionPolicy`].Arn'
   ```

1. Use o comando a seguir para anexar a política ao perfil do IAM para EventBridge usando o ARN da política.

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

------