

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

# 在 Amazon AWS 账户之间发送和接收事件 EventBridge
<a name="eb-cross-account"></a>

您可以配置 EventBridge 为在 AWS 账户中的[[事件总线](eb-event-bus.md)之间发送和接收事件](eb-events.md)。当您配置 EventBridge 为在账户之间发送或接收事件时，可以指定哪些 AWS 账户可以向您的账户中的事件总线发送事件或从事件总线接收事件。您还可以允许或拒绝事件，它们来自与事件总线关联的特定[规则](eb-rules.md)，或来自特定来源的事件。有关更多信息，请参阅使用 [Amazon EventBridge 资源策略简化跨账户访问](https://aws.amazon.com/blogs//compute/simplifying-cross-account-access-with-amazon-eventbridge-resource-policies/)

**注意**  
如果使用 AWS Organizations，则可以指定组织并向该组织中的所有账户授予访问权限。此外，在向其他账户发送事件时，发送事件总线必须附加 IAM 角色。有关更多信息，请参阅《[AWS Organizations用户指南](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)》中的*什么是AWS Organizations *。

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

只要目标区域是支持的[跨](eb-cross-region.md)区域目标区域，您就可以在所有区域的同一区域的账户中的事件总线之间以及不同区域的账户之间发送和接收事件。 AWS 

配置 EventBridge 为向不同账户中的事件总线发送事件或从事件总线接收事件的步骤包括以下内容：
+ 在*接收者*账户上，编辑事件总线上的权限，以允许指定 AWS 账户、组织或所有 AWS 账户向接收者账户发送事件。
+ 在*发送方* 账户中，设置一个或多个将接收方账户的事件总线作为目标的规则。

  如果发送者账户继承了从 AWS 组织发送事件的权限，则发送者账户还必须具有 IAM 角色，其策略使其能够向接收者账户发送事件。如果您使用创建 AWS 管理控制台 以接收者账户中的事件总线为目标的规则，则该角色将自动创建。如果使用 AWS CLI，则必须手动创建角色。
+ 在*接收方* 账户中，设置一个或多个匹配来自发送方账户的事件的规则。

从一个账户发送到另一个账户的事件将作为自定义事件向发送账户收取费用。不向接收账户收费。有关更多信息，请参阅 [Amazon EventBridge 定价](https://aws.amazon.com/eventbridge/pricing/)。

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

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

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




## 授予权限以允许来自其他 AWS 账户的事件
<a name="eb-receiving-events-from-another-account"></a>

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

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

**重要**  
如果您选择接收来自所有 AWS 账户的事件，请谨慎创建规则，使其仅匹配要从其他账户接收的事件。要创建更安全的规则，请确保每条规则的事件模式都包含一个`Account`字段， IDs其中包含用于接收事件的一个或多个账户的帐户。其事件模式包含“账户”字段的规则与从在 `Account` 字段中未列出的账户发送的事件不匹配。有关更多信息，请参阅 [Amazon 上的活动 EventBridge](eb-events.md)。

## AWS 账户间事件规则
<a name="eb-writing-rules-that-match-events-from-another-account"></a>

如果您的账户设置为接收来自其他 AWS 账户的事件总线的事件，则可以编写与这些事件相匹配的规则。将规则的[事件模式](eb-event-patterns.md)设置为与您从其他账户的事件总线接收的事件相匹配。

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

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

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

## 创建在 AWS 账户之间发送事件的规则
<a name="eb-create-rule-cross-account-target"></a>

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

**使用控制台创建向其他 AWS 账户发送事件的规则**

1. 遵循[在 Amazon 中创建规则 EventBridge](eb-create-rule-visual.md)过程中的步骤。

1. 在[选择目标](eb-create-rule-wizard.md#eb-create-rule-target)步骤中，当系统提示您选择目标类型时：

   1. 选择**EventBridge 活动总线**。

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

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

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