将事件发送到另一个账户中的某项 Amazon 服务 EventBridge - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将事件发送到另一个账户中的某项 Amazon 服务 EventBridge

EventBridge 可以将事件从一个 Amazon 账户中的事件总线发送到另一个账户中支持的 Amazon 服务,从而简化事件驱动解决方案的架构并减少延迟。

例如,假设您有一组托管在多个账户中的事件总线,您需要将与安全相关的事件发送到集中式账户中的一个 Amazon SQS 队列,以进行进一步的异步处理和分析。

EventBridge 支持向同一地区的跨账户目标发送事件。

受支持的服务

EventBridge 支持向其他 Amazon 账户中的以下目标发送事件:

  • Amazon API Gateway APIs

  • Amazon Kinesis Data Streams 直播

  • Lambda 函数

  • Amazon SNS 主题

  • Amazon SQS 队列

有关定价,请参阅 Amazon EventBridge 定价

Permissions

启用对作为目标的 Amazon 服务的跨账户事件交付的访问权限涉及以下步骤:

  • 指定执行角色

  • 将资源策略附加到目标

指定执行角色

指定在触发 EventBridge 规则时向目标发送事件时使用的执行角色。

此执行角色必须与事件总线位于同一个账户中。 EventBridge 尝试调用目标时担任此角色,并且会应用影响此帐户的所有服务控制策略 (SCPs)。

SCPs 是一种组织策略,可用于管理组织中的权限。有关更多信息,请参阅《Amazon Organizations 用户指南》中的服务控制策略

例如,以下策略允许 EventBridge 服务担任执行角色:

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

此外,以下策略允许该角色向 Amazon SQS 队列发送消息:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-1:123456789012:queue-name" } ] }

对于使用的账户 Amazon Organizations,您可以应用 SCP 来防止调用不属于您的组织的资源,如以下示例所示:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "*" ], "Resource": "*", "Effect": "Deny", "Condition": { "StringNotEquals": { "aws:ResourceOrgID": "o-1234567890" } } } ] }
注意

对于事件总线以外的跨账户目标,不支持从与事件总线所属账户不同的账户调用 PutTarget,即便提供了该调用账户中的执行角色。

将资源访问策略附加到目标

可以接收跨账户事件的 Amazon 服务支持基于 IAM 资源的策略。这意味着,您可以将资源访问策略附加到目标,从而明确指定哪些账户有权访问该目标。

基于我们之前的示例,以下策略允许事件总线账户访问目标账户中的 Amazon SQS 队列:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "SQS:SendMessage" ], "Effect": "Allow", "Resource": "arn:aws:sqs:us-east-1:123456789012:queue-name", "Principal": { "AWS": "123456789012" } } ] }

有关更多信息,请参见《Amazon Identity and Access Management 用户指南》中的基于身份的策略和基于资源的策略

创建向其他账户中的 Amazon 服务发送事件的规则

将其他账户中的 Amazon 服务指定为目标是创建事件总线规则的一部分。

使用控制台创建向不同 Amazon 账户中的 Amazon 服务发送事件的规则
  1. 遵循在 Amazon 中创建规则 EventBridge过程中的步骤。

  2. 选择目标步骤中,当系统提示您选择目标类型时:

    1. 选择Amazon 服务

    2. 选择支持跨账户目标的 Amazon 服务。

      有关更多信息,请参阅 受支持的服务

    3. 对于目标位置,选择其他 Amazon 账户中的目标

    4. 输入要将事件发送到的目标资源的 ARN。

    5. 从下拉列表中选择要使用的执行角色的名称。

    6. 为所选服务提供要求补充的其他相关信息。显示的字段因所选服务而异。

  3. 根据过程步骤,完成规则创建。