Funções do IAM para enviar eventos para destinos na Amazon EventBridge - Amazon EventBridge

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

Para retransmitir eventos para destinos, 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/.

  2. Para criar uma função do IAM, siga as etapas em Criar uma função para delegar permissões a um AWS serviço 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 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 no Guia do usuário do IAM.

Permissões necessárias EventBridge para acessar destinos usando funções do IAM

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

Se o destino for um destino de API, a função especificada deverá incluir uma política com a seguinte declaração:

  • Efeito: Allow

  • Ação: events:InvokeApiDestination

  • Recurso: arn:aws:events:*:*:api-destination/*

Streams do Kinesis

Se o destino for um stream do Kinesis, a função usada para enviar dados do evento para esse destino deverá incluir uma política com a seguinte declaração:

  • Efeito: Allow

  • Ação: kinesis:PutRecord

  • Recurso: *

Comandos de execução do Systems Manager

Se o destino for o comando de execução do Systems Manager e você especificar um ou mais InstanceIds valores para o comando, a função especificada deverá incluir uma política com a seguinte declaraçã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 deverá incluir uma política com as duas ações a seguir:

  • 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

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

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 integrados realizem EventBridge EC2 ações da Amazon em seu nome. Você precisa usar o AWS Management Console 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

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, consulteRecursos de marcação na Amazon EventBridge.

É 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 no Manual do usuário do IAM.