View a markdown version of this page

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 un rol de IAM.

Para crear una función 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 que se indican en la Guía del usuario de IAM para 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 Seleccionar un tipo de rol, elige AWS Service Roles y, a continuación, Amazon. EventBridge Esto otorga EventBridge los permisos para asumir el rol.

    • En Adjuntar política, elija AmazonEventBridgeFullAccess.

También puedes crear tus propias políticas de IAM personalizadas para conceder permisos a las EventBridge acciones y los 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.

Se requieren permisos para acceder EventBridge a los objetivos mediante las funciones de IAM

EventBridge Los objetivos suelen requerir funciones de IAM que concedan permiso EventBridge para 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 específicos preconfigurados.

Los objetivos de Amazon SQS, Amazon SNS y Lambda admiten tanto las funciones de ejecución de IAM como las políticas basadas en recursos. CloudWatch Los destinos de registro y EventBridge bus no utilizan funciones, y los permisos para ello EventBridge 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 la API, el rol que especifique debe incluir una política con la siguiente instrucción:

  • Efecto: Allow

  • Acción: events:InvokeApiDestination

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

Flujos de Kinesis

Si el destino es un flujo de Kinesis, el rol utilizado para enviar datos de eventos a dicho destino debe incluir una política con la siguiente instrucción:

  • Efecto: Allow

  • Acción: kinesis:PutRecord

  • Recurso: *

Comando ejecutar de Systems Manager

Si el destino es el comando ejecutar de Systems Manager y especifica uno o varios valores de InstanceIds para el comando, el rol que especifique debe incluir una política con la siguiente instrucción:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recursos:

    • arn:aws:ec2:region:accountId:instance/instanceId1

    • arn:aws:ec2:region:accountId:instance/instanceId2

    • arn:aws:ssm:region:*:document/documentName

Si el objetivo es el comando run de Systems Manager y especificas una o más etiquetas para las instancias de destino, el rol debe incluir la siguiente declaración:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recursos:

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

    • arn:aws:ssm:region:accountId:managed-instance/*

  • Condición:

    "StringEquals": { "aws:ResourceTag/tagKey": ["tagValues"] }

La clave de aws:ResourceTag condición funciona tanto para las instancias EC2 como para las instancias administradas híbridas (nodos locales registrados en Systems Manager). La clave de ssm:resourceTag/tagKey condición también es compatible con la SendCommand acción.

El rol también debe incluir la siguiente declaración para permitir el acceso al documento de Systems Manager:

  • Efecto: Allow

  • Acción: ssm:SendCommand

  • Recurso: arn:aws:ssm:region:*:document/documentName

Máquinas de estado Step Functions

Si el objetivo es una máquina de AWS Step Functions estados, el rol 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 acciones de Amazon EC2 en su nombre. Debe utilizarla para Consola de administración de AWS 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 transmitir eventos EventBridge a las transmisiones de Kinesis de su cuenta.

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

Customer-managed ejemplo de política: uso del etiquetado para controlar el acceso a las reglas

El siguiente ejemplo muestra una política de usuario que otorga permisos para EventBridge las acciones. Esta política funciona cuando se utilizan la EventBridge API, AWS los SDK o el AWS CLI.

Puedes conceder a los usuarios 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.