Funciones de IAM para enviar eventos a objetivos en Amazon EventBridge - Amazon EventBridge

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.

Funciones de IAM para enviar eventos a objetivos en Amazon EventBridge

Para transmitir eventos a los objetivos, EventBridge necesita una función de IAM.

Para crear un rol de IAM para enviar eventos a EventBridge
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Para crear un rol de IAM, siga los pasos de la Guía del usuario de IAM sobre cómo crear un rol para delegar permisos a un AWS servicio. Cuando siga los pasos, haga lo siguiente:

    • En Nombre del rol, utilice un nombre que sea exclusivo dentro de su cuenta.

    • En Select Role Type, elija AWS Service Roles y, a continuación, Amazon EventBridge. Esto otorga EventBridge permisos para asumir el rol.

    • En Attach Policy, elija AmazonEventBridgeFullAccess.

También puedes crear tus propias políticas de IAM personalizadas para permitir permisos para EventBridge acciones y recursos. Puede asociar estas políticas personalizadas a los grupos o usuarios de IAM que requieran esos permisos. Para obtener más información acerca de las políticas de IAM, consulte Descripción general de las políticas de IAM en la Guía del usuario de IAM. Para obtener más información sobre cómo administrar y crear políticas de IAM personalizadas, consulte Administrar políticas de IAM en la Guía del usuario de IAM.

Permisos necesarios para acceder EventBridge a los objetivos mediante funciones de IAM

EventBridge Los objetivos suelen requerir funciones de IAM que concedan permiso para EventBridge invocar el objetivo. A continuación se muestran algunos ejemplos de varios AWS servicios y objetivos. Para otros, utilice la EventBridge consola para crear una regla y crear un nuevo rol que se creará con una política con permisos bien definidos y preconfigurados.

Amazon SQS, Amazon SNS, CloudWatch Lambda EventBridge , Logs y los destinos de bus no utilizan funciones y los EventBridge permisos deben concederse mediante una política de recursos. Los objetivos de API Gateway pueden usar políticas de recursos o roles de IAM.

Destinos de la API

Si el destino es un destino de API, la función que especifique debe incluir una política con la siguiente declaración:

  • Efecto: Allow

  • Acción: events:InvokeApiDestination

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

Flujos de Kinesis

Si el destino es una transmisión de Kinesis, la función utilizada para enviar los datos del evento a ese destino debe incluir una política con la siguiente declaración:

  • Efecto: Allow

  • Acción: kinesis:PutRecord

  • Recurso: *

Comandos de ejecución de Systems Manager

Si el destino es el comando de ejecución de Systems Manager y especifica uno o más InstanceIds valores para el comando, la función que especifique debe incluir una política con la siguiente declaración:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recursos: arn:aws:ec2:us-east-1:accountId:instance/instanceIds, arn:aws:ssm:us-east-1:*:document/documentName

Si el destino es el comando de ejecución de Systems Manager y usted especifica una o más etiquetas para el comando, la función que especifique debe incluir una política con las dos acciones siguientes:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recursos: arn:aws:ec2::accountId:instance/*

  • Condición:

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

Y:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recursos: arn:aws:ssm:us-east-1:*:document/documentName

Máquinas de estado de Step Functions

Si el objetivo es una máquina de AWS Step Functions estados, la función que especifique debe incluir una política con lo siguiente:

  • Efecto: Allow

  • Acción: states:StartExecution

  • Recurso: arn:aws:states:*:*:stateMachine:*

Tareas de Amazon ECS

Si el destino es una tarea de Amazon ECS, el rol que especifique debe incluir la siguiente 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" } } } ] }

La siguiente política permite que los objetivos integrados EventBridge realicen EC2 acciones de Amazon en tu nombre. Debes utilizarla AWS Management Console para crear reglas con objetivos integrados.

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

La siguiente política permite EventBridge retransmitir eventos a las transmisiones de Kinesis de su cuenta.

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

Ejemplo de política administrada por el cliente: uso del etiquetado para controlar el acceso a las reglas

El siguiente ejemplo muestra una política de usuario que concede permisos para EventBridge realizar acciones. Esta política funciona cuando se utiliza la EventBridge API AWS SDKs, o la AWS CLI.

Puede conceder a los usuarios el acceso a EventBridge reglas específicas y, al mismo tiempo, impedir que accedan a otras reglas. Para ello, etiquete ambos conjuntos de reglas y, a continuación, utilice políticas de IAM para hacer referencia a esas etiquetas. Para obtener más información sobre el etiquetado de EventBridge recursos, consulteRecursos de etiquetado en Amazon EventBridge.

Puede conceder una política de IAM a un usuario para permitir el acceso únicamente a las reglas con una determinada etiqueta. Usted elige las reglas a las que desea conceder el acceso etiquetándolas con esa etiqueta concreta. Por ejemplo, la siguiente política concede a un usuario acceso a reglas con el valor de Prod para la clave de etiqueta Stack.

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

Para obtener más información acerca del uso de instrucciones de política de IAM, consulte Control del acceso mediante las políticas en la Guía del usuario de IAM.