在 EventBridge 中向另一个账户中的 AWS 服务发送事件
EventBridge 可以将事件从一个 AWS 账户中的事件总线发送到另一个账户中支持的 AWS 服务,从而简化事件驱动解决方案的架构并减少延迟。
例如,假设您有一组托管在多个账户中的事件总线,您需要将与安全相关的事件发送到集中式账户中的一个 Amazon SQS 队列,以进行进一步的异步处理和分析。
EventBridge 支持向同一区域中的跨账户目标发送事件。
受支持的服务
EventBridge 支持向其他 AWS 账户中的以下目标发送事件:
Amazon API Gateway API
Amazon Kinesis Data Streams 流
Lambda 函数
Amazon SNS 主题
Amazon SQS 队列
有关定价的更多信息,请参阅 Amazon EventBridge 定价
权限
要启用对作为目标的 AWS 服务的跨账户事件交付,需执行以下步骤:
指定执行角色
将资源策略附加到目标
指定执行角色
为 EventBridge 指定一个执行角色,以便在触发规则时向目标发送事件时使用。
此执行角色必须与事件总线位于同一账户中。EventBridge 在尝试调用目标时代入此角色,并且会应用影响该账户的所有服务控制策略(SCP)。
SCP 是一种组织策略,可用于管理组织中的权限。有关更多信息,请参阅 AWS Organizations 用户指南中的服务控制策略。
例如,以下策略允许 EventBridge 服务代入执行角色:
此外,以下策略允许该角色向 Amazon SQS 队列发送消息:
对于使用 AWS Organizations 的账户,您可以应用 SCP 来防止调用不属于您组织的资源,如以下示例所示:
注意
对于事件总线以外的跨账户目标,不支持从与事件总线所属账户不同的账户调用 PutTarget,即便提供了该调用账户中的执行角色。
将资源访问策略附加到目标
可接收跨账户事件的 AWS 服务均支持基于 IAM 资源的策略。这意味着,您可以将资源访问策略附加到目标,从而明确指定哪些账户有权访问该目标。
基于我们之前的示例,以下策略允许事件总线账户访问目标账户中的 Amazon SQS 队列:
有关更多信息,请参见《AWS Identity and Access Management 用户指南》中的基于身份的策略和基于资源的策略。
创建将事件发送到其他账户中 AWS 服务的规则
将其他账户中的 AWS 服务指定为目标,是创建事件总线规则的一部分。
使用控制台创建规则,以向其他 AWS 账户中的 AWS 服务发送事件
遵循在 Amazon EventBridge 中创建对事件作出反应的规则过程中的步骤。
在选择目标步骤中,当系统提示您选择目标类型时:
选择AWS 服务。
选择支持跨账户目标的 AWS 服务。
有关更多信息,请参阅 受支持的服务。
对于目标位置,选择其他 AWS 账户中的目标。
输入要将事件发送到的目标资源的 ARN。
从下拉列表中选择要使用的执行角色的名称。
为所选服务提供要求补充的其他相关信息。显示的字段因所选服务而异。
根据过程步骤,完成规则创建。