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

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

您可以配置 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 账户授予权限,也可以使用组织 ID 向 Amazon 组织授予权限。要了解有关事件总线权限的更多信息,包括示例策略,请参阅 Amazon EventBridge 中事件总线的权限

注意

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

重要

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

Amazon 账户间的事件规则

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

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

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

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

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

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

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

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

    1. 选择 EventBridge 事件总线

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

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

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