我想在一个 AWS 账户中配置我的 Amazon EventBridge 规则,以便将事件发送到另一个账户中的自定义事件总线。
解决方法
从目标账户创建事件总线并配置以下基于资源的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "WebStoreCrossAccountPublish",
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Principal": {
"AWS": "arn:aws:iam::AccountA:root"
},
"Resource": "arn:aws:events:Region:AccountB:event-bus/central-event-bus"
}
]
}
**注意:**请将 AccountA 替换为源账户的 AWS 账户 ID,将 Region 替换为目标账户的 AWS 区域,并将 AccountB 替换为目标账户的账户 ID。
然后,完成以下步骤来配置规则:
- 在源账户中打开 EventBridge 控制台。
- 在导航窗格中,选择 Rules(规则),然后选择 Create rule(创建规则)。
- 对于 Select event bus(选择事件总线),选择 AWS default event bus(AWS 默认事件总线)。
- 对于 Select targets(选择目标),选择 Target(目标),然后选择 Event Bus in another AWS account(另一个 AWS 账户中的事件总线)。
- 选择 Event Bus(事件总线),然后输入目标账户的事件总线的 Amazon 资源名称 (ARN)。
- 对于 Role(角色),选择一个对目标事件总线拥有 PutEvents 权限的 AWS Identity and Access Management (IAM) 角色。如果没有可供您使用的现有角色,则创建一个 IAM 角色并包含以下权限策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": [
"EventBusARN"
]
}
]
}
**注意:**请将 EventBusARN 替换为目标账户的事件总线的 ARN。
- 选择 Create rule(创建规则)。
相关信息
在 Amazon EventBridge 中的 AWS 账户之间发送和接收事件