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

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

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

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

注意

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

注意

如果您使用事件管理器响应计划作为目标,则默认情况下,与您的账户共享的所有响应计划都可用。

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

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

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

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

    如果发送方账户继承从Amazon组织发送事件,则发送方账户还必须拥有一个 IAM 角色,该角色具有支持它将事件发送到接收方账户的策略。如果您使用创建Amazon Web Services Management Console以接收者账户中的事件总线为目标的规则,则会自动创建该角色。如果您使用 Amazon CLI,则必须手动创建该角色。

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

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

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

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

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

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

重要

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

Amazon账户间事件规则

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

除非您在规则的事件模式account中指定,否则您的账户中与您从其他账户的事件总线收到的事件相匹配的任何新规则和现有规则,都将根据这些事件触发。如果您正在接收来自其他账户的事件总线的事件,并且您希望规则仅在从您自己的账户生成时在该事件模式上触发,则必须在该规则的事件模式中添加account和指定自己的账户 ID。

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

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

使用控制台创建向其他Amazon账户发送事件的规则
  1. 通过 https://console.aws.amazon.com/events/ 打开亚马逊 EventBridge 控制台。

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择 Create rule (创建规则)

  4. 为规则输入名称和描述。

    规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

  5. 对于 Event bus(事件总线),请选择要与此规则关联的事件总线。如果您希望此规则对来自您自己的账户的匹配事件触发,请选择 Amazon 原定设置事件总线。当您账户中的某个 Amazon 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  6. 对于 Rule type(规则类型),选择 Rule with an event pattern(具有事件模式的规则)。

  7. 选择 Next(下一步)

  8. 对于 Event source(事件源),选择 Amazon services(服务)。

  9. (可选)对于示例事件,选择事件的类型。

  10. 对于事件模式,请执行以下操作之一:

    • 要使用模板创建您的事件模式,请选择 Event pattern form form form form form f orm(事件模式形式)。如果您选择 Al l Events(所有事件),此Amazon服务发送的所有事件将会匹配规则。

      要自定义模板,请选择 Custom pattern (JSON editor)(自定义模式(JSON 编辑器))进行您的更改。

    • 要使用自定义事件模式,请选择 Custom pattern (JSON editor)(自定义模式(JSON 编辑器)),然后创建您的事件模式。

  11. 选择 Next(下一步)

  12. 对于目标类型,选择EventBridge 事件总线,然后选择其他Amazon账户或区域中的事件总线

  13. 输入要用作目标的事件总线的事件总线的事件总线的事件总线的 ARN。

  14. 对于许多目标类型, EventBridge 需要权限以便将事件发送到目标。在这些情况下, EventBridge 可以创建运行事件所需的 IAM 角色,以便运行事件所需的 IAM 角色。请执行下列操作之一:

    • 若要自动创建 IAM 角色,请选择 Create a new role for this specific resource (为此特定资源创建新角色)

    • 要使用您之前创建的 IAM 角色,请选择 Use existing role(使用现有角色)(使用现有角色)。

  15. (可选)对于 Additional settings(其他设置),执行以下操作:

    1. 对于死信队列,选择是否使用标准 Amazon SQS 队列作为死信队列。 EventBridge 如果与此规则匹配的事件未成功传递到目标,会将这些事件发送到死信队列。请执行下列操作之一:

      • 选择不使用死信队列。

      • 在当前 Amazon 帐户中选择选择一个Amazon SQS队列用作死信队列,然后从下拉列表中选择要使用的队列。

      • 选择在其他 Amazon SQS 队列中选择其他队列 Amazon 帐户作为死信队列,然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列,以授予向其发送消息的 EventBridge 权限。有关更多信息,请参阅授死信队列的权限

  16. (可选)选择 Add another target(添加其他目标),以为此规则添加其他目标。

  17. 选择 Next(下一步)

  18. (可选)为规则输入一个或多个标签。有关更多信息,请参阅亚马逊 EventBridge 标签

  19. 选择 Next(下一步)

  20. 查看规则详细信息并选择 Create rule(创建规则)。