将事件发送到另一个账户中的 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 定价

权限

启用对作为目标的 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. 根据过程步骤,完成规则创建。