在 Amazon 账户之间发送和接收 Amazon EventBridge 事件 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Amazon 账户之间发送和接收 Amazon EventBridge 事件

您可以配置 EventBridge 为在 Amazon 账户中的事件总线之间发送和接收事件。当您配置 EventBridge 为在账户之间发送或接收事件时,可以指定哪些 Amazon 账户可以向您的账户中的事件总线发送事件或从事件总线接收事件。您还可以允许或拒绝事件,它们来自与事件总线关联的特定规则,或来自特定来源的事件。有关更多信息,请参阅使用 Amazon EventBridge 资源策略简化跨账户访问

注意

如果使用 Amazon Organizations,则可以指定组织并向该组织中的所有账户授予访问权限。此外,在向其他账户发送事件时,发送事件总线必须附加 IAM 角色。有关更多信息,请参阅《Amazon Organizations用户指南》中的什么是Amazon Organizations

注意

如果您使用 Incident Manager 响应计划作为目标,则在默认情况下,与您的账户共享的所有响应计划都可用。

只要目标区域是支持的区域目标区域,您就可以在所有区域中同一区域的账户中的事件总线之间以及不同区域的账户之间发送和接收事件。 Amazon

配置 EventBridge 为向不同账户中的事件总线发送事件或从事件总线接收事件的步骤包括以下内容:

  • 接收者账户上,编辑事件总线上的权限,以允许指定 Amazon 账户、组织或所有 Amazon 账户向接收者账户发送事件。

  • 发送方 账户中,设置一个或多个将接收方账户的事件总线作为目标的规则。

    如果发送者账户继承了从 Amazon 组织发送事件的权限,则发送者账户还必须具有 IAM 角色,其策略使其能够向接收者账户发送事件。如果您使用创建 Amazon Web Services Management Console 以接收者账户中的事件总线为目标的规则,则该角色将自动创建。如果使用 Amazon CLI,则必须手动创建角色。

  • 接收方 账户中,设置一个或多个匹配来自发送方账户的事件的规则。

从一个账户发送到另一个账户的事件将作为自定义事件向发送账户收取费用。不向接收账户收费。有关更多信息,请参阅 Amazon EventBridge 定价

如果接收方账户设置了一条将从发送方账户接收的事件发送到第三个账户的规则,则这些事件不会发送到第三个账户。

如果您在同一个账户中有三条事件总线,并且在第一条事件总线上设置了将事件从第二条事件总线转发到第三条事件总线的规则,则这些事件不会发送到第三条事件总线。

以下视频介绍了如何在账户之间路由事件:

授予权限以允许来自其他 Amazon 账户的事件

要接收来自其他账户或组织的事件,您必须先编辑将要接收事件的事件总线的权限。默认事件总线接受来自 Amazon 服务、其他授权 Amazon 账户和PutEvents呼叫的事件。需使用附加到事件总线的基于资源的策略来授予或拒绝事件总线的权限。在该策略中,您可以使用账户 ID 向其他 Amazon 账户授予权限,也可以向使用 Amazon 组织 ID 的组织授予权限。要了解有关事件总线权限的更多信息,包括示例策略,请参阅 Amazon EventBridge 事件总线的权限

注意

EventBridge 现在要求所有新的跨账户事件总线目标添加 IAM 角色。这仅适用于 2023 年 3 月 2 日之后创建的事件总线目标。在该日期之前创建的没有 IAM 角色的应用程序不受影响。但是,我们建议添加 IAM 角色,授予用户访问另一账户中资源的权限,因为这样可以确保使用服务控制策略 (SCP) 应用组织边界,从而确定谁可以从您的组织中的账户发送和接收事件。

重要

如果您选择接收来自所有 Amazon 账户的事件,请谨慎创建规则,使其仅匹配要从其他账户接收的事件。要创建更安全的规则,请确保每个规则的事件模式都包含一个 Account 字段,其中包含要从其接收事件的一个或多个账户的账户 ID。其事件模式包含“账户”字段的规则与从在 Account 字段中未列出的账户发送的事件不匹配。有关更多信息,请参阅 亚马逊 EventBridge 活动

Amazon 账户间事件规则

如果您的账户设置为接收来自其他 Amazon 账户的事件总线的事件,则可以编写与这些事件相匹配的规则。将规则的事件模式设置为与您从其他账户的事件总线接收的事件相匹配。

除非您在规则的事件模式中指定 account,否则您的账户中与您从其他账户事件总结收到的事件进行匹配的任何规则(包括新规则和现有规则)都基于这些事件触发。如果您要从另一账户的事件总线接收事件,并且希望仅对从您自己的账户生成的事件模式触发规则,则必须添加 account 并将您自己的账户 ID 指定为规则的事件模式。

如果您将账户设置为在所有 Amazon 账户中接受来自活动总线的事件,我们强烈建议您在 Amazon 账户中的每 EventBridge 条规则中添加account相应规则。这样可以防止您的账户中的规则触发来自未知 Amazon 账户的事件。在规则中指定 account 字段时,可以在该字段中指定多个 Amazon 账户的账户 ID。

要在您已授予权限的 Amazon 账户中任何事件总线的匹配事件上触发规则,请不要在规则account字段中指定*。这样做不会匹配任何事件,因为 * 从不显示在事件的 account 字段中。相反,只需忽略规则的 account 字段即可。

创建在 Amazon 账户之间发送事件的规则

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

使用控制台创建向其他 Amazon 账户发送事件的规则
  1. 遵循创建对事件作出反应的 Amazon EventBridge 规则过程中的步骤。

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

    1. 选择EventBridge 活动总线

    2. 选择不同账户或区域中的事件总线

    3. 对于事件总线作为目标,请输入要使用的事件总线的 ARN。

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