

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Funções do IAM para enviar eventos para destinos na Amazon EventBridge
<a name="eb-events-iam-roles"></a>

Para retransmitir eventos para alvos, EventBridge precisa de uma função do IAM.

**Para criar uma função do IAM para enviar eventos para EventBridge**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Para criar uma função do IAM, siga as etapas em [Criar uma função para delegar permissões a um AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do usuário do IAM*. À medida que você realizar as etapas, observe o seguinte:
   + Em **Nome do perfil**, use um nome que seja exclusivo em sua conta.
   + Em **Selecionar tipo de função**, escolha **AWS Service Roles** e, em seguida, escolha **Amazon EventBridge**. Isso concede EventBridge permissões para assumir a função.
   + Em **Anexar política**, escolha **AmazonEventBridgeFullAccess**.

Você também pode criar suas próprias políticas personalizadas do IAM para permitir permissões para EventBridge ações e recursos. Você pode anexar essas políticas personalizadas a usuários ou grupos do IAM que exijam essas permissões. Para obter mais informações sobre políticas do IAM, consulte [Visão geral das políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*. Para obter mais informações sobre o gerenciamento e a criação de políticas personalizadas do IAM, consulte [Gerenciamento de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html) no *Guia do usuário do IAM*.

## Permissões necessárias EventBridge para acessar alvos usando funções do IAM
<a name="eb-target-permissions"></a>

EventBridge Os destinos geralmente exigem funções do IAM que concedam permissão EventBridge para invocar o destino. A seguir estão alguns exemplos de vários AWS serviços e alvos. Para outros, use o EventBridge console para criar uma regra e criar uma nova função que será criada com uma política com permissões bem definidas pré-configuradas. 

Amazon SQS, Amazon SNS, CloudWatch Lambda, Logs e destinos de barramento não usam funções EventBridge , e EventBridge as permissões devem ser concedidas por meio de uma política de recursos. Os destinos do API Gateway podem usar políticas de recursos ou perfis do IAM.

### Destinos de API
<a name="eb-target-permissions-apid"></a>

Se o destino for um destino da API, a função especificada por você deverá incluir uma política com a seguinte instrução:
+ **Efeito:** `Allow`
+ **Ação:** `events:InvokeApiDestination`
+ **Recurso**: `arn:aws:events:*:*:api-destination/*`

### Streams do Kinesis
<a name="eb-target-permissions-kinesis"></a>

Se o destino for um fluxo do Kinesis, a função usada para enviar dados do evento para o destino deverá incluir a seguinte instrução:
+ **Efeito:** `Allow`
+ **Ação:** `kinesis:PutRecord`
+ **Recurso**: `*`

### Comandos de execução do Systems Manager
<a name="eb-target-permissions-sys"></a>

Se o destino for o comando de execução do Systems Manager e você especificar um ou mais valores `InstanceIds` para o comando, a função especificada deverá incluir uma política com a seguinte instrução:
+ **Efeito:** `Allow`
+ **Ação:** `ssm:SendCommand`
+ **Recursos:** `arn:aws:ec2:{{us-east-1}}:{{accountId}}:instance/{{instanceIds}}`, `arn:aws:ssm:{{us-east-1}}:*:document/{{documentName}}`

Se o destino for o comando de execução do Systems Manager e você especificar uma ou mais tags para o comando, a função especificada por você deverá incluir uma política com estas duas ações:
+ **Efeito:** `Allow`
+ **Ação:** `ssm:SendCommand`
+ **Recursos:** `arn:aws:ec2:{{}}:{{accountId}}:instance/*`
+ **Condição:**

  ```
  "StringEquals": {
    "ec2:ResourceTag/*": [
      "[[tagValues]]"
    ]
  }
  ```

And:
+ **Efeito:** `Allow`
+ **Ação:** `ssm:SendCommand`
+ **Recursos:** `arn:aws:ssm:{{us-east-1}}:*:document/{{documentName}}`

### Máquinas de estado do Step Functions
<a name="eb-target-permissions-step-functions"></a>

Se o destino for uma máquina de AWS Step Functions estado, a função especificada deverá incluir uma política com o seguinte:
+ **Efeito:** `Allow`
+ **Ação:** `states:StartExecution`
+ **Recurso**: `arn:aws:states:*:*:stateMachine:*`

### Tarefas do Amazon ECS
<a name="eb-target-permissions-ec2"></a>

Se o destino for uma tarefa do Amazon ECS, o perfil especificado deverá incluir a seguinte política:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:RunTask"
            ],
            "Resource": [
                "arn:aws:ecs:*:{{111122223333}}:task-definition/{{task-definition-name}}"
            ],
            "Condition": {
                "ArnLike": {
                    "ecs:cluster": "arn:aws:ecs:*:{{111122223333}}:cluster/{{cluster-name}}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "ecs-tasks.amazonaws.com"
                }
            }
        }
    ]
}
```

------

A política a seguir permite que alvos EventBridge incorporados executem ações do Amazon EC2 em seu nome. Você precisa usar o Console de gerenciamento da AWS para criar regras com alvos integrados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TargetInvocationAccess",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:RebootInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances",
                "ec2:CreateSnapshot"
            ],
            "Resource": "*"
        }
    ]
}
```

------

A política a seguir permite EventBridge retransmitir eventos para os streams do Kinesis em sua conta. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KinesisAccess",
            "Effect": "Allow",
            "Action": [
                "kinesis:PutRecord"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemplo de política gerenciada pelo cliente: uso de marcações para controlar o acesso às regras
<a name="eb-customer-managed-policies"></a>

O exemplo a seguir mostra uma política de usuário que concede permissões para EventBridge ações. Essa política funciona quando você usa AWS SDKs a EventBridge API ou AWS CLI a.

Você pode conceder aos usuários acesso a EventBridge regras específicas e, ao mesmo tempo, impedir que eles acessem outras regras. Para fazer isso, marque ambos os conjuntos de regras e use as políticas do IAM que se referem a essas tags. Para obter mais informações sobre a marcação de EventBridge recursos, consulte[Recursos de marcação na Amazon EventBridge](eb-tagging.md).

É possível conceder uma política do IAM a um usuário para permitir acesso apenas às regras com uma determinada tag. As regras são escolhidas para conceder acesso ao marcá-las com esta tag específica. Por exemplo, a política a seguir concede acesso a regras com o valor `Prod` para a chave de tag `Stack`.

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "events:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Stack": "Prod"
                }
            }
        }
    ]
}
```

Para obter mais informações sobre como usar instruções de política do IAM, consulte [Controlar o acesso usando políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html) no *Manual do usuário do IAM*.