AWS::Events::EventBusPolicy - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Events::EventBusPolicy

AWS::Events::EventBusPolicy 资源创建 Amazon EventBridge 的事件总线策略。事件总线策略允许您的账户从其他 AWS 账户中接收事件。这些事件可能会触发在您的账户中创建的 EventBridge 规则。有关更多信息,请参阅 Amazon EventBridge 用户指南 中的在 AWS 账户之间发送和接收事件

如果您通过使用 Condition 并指定组织来授予权限,则该组织中的账户在使用 PutTarget 将您账户的事件总线添加为目标时,必须指定具有正确权限的 RoleArn

默认事件总线上的权限策略大小不能超过 10 KB。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Events::EventBusPolicy", "Properties" : { "Action" : String, "Condition" : Condition, "EventBusName" : String, "Principal" : String, "StatementId" : String } }

YAML

Type: AWS::Events::EventBusPolicy Properties: Action: String Condition: Condition EventBusName: String Principal: String StatementId: String

属性

Action

您允许其他账户执行的操作。目前,必须为 events:PutEvents

必需:是

类型:字符串

最低1

最高64

模式events:[a-zA-Z]+

Update requires: No interruption

Condition

Condition 是一个 JSON 字符串,可以使用该字符串限制您仅为满足条件的账户授予的事件总线权限。目前,唯一支持的条件是特定 AWS 组织中的成员资格。有关 AWS Organizations 的更多信息,请参阅 AWS Organizations 用户指南 中的什么是 AWS Organizations?

Condition AWS::Events::EventBusPolicy 资源类型的属性。

如果您使用 AWS 组织 ID 指定 Condition 并将“*”指定为 Principal 的值,则向指定组织中的所有账户授予权限。

必需:否

类型Condition

Update requires: No interruption

EventBusName

要与此策略关联的事件总线的名称。

必需:否

类型:字符串

Update requires: Replacement

Principal

12 位 AWS 账户 ID,您允许其将事件放置到默认事件总线中。指定“*”可允许任何账户将事件添加到默认事件总线。

如果您指定“*”而不指定 Condition,请避免创建可能匹配不必要的事件的规则。要创建更安全的规则,请确保每个规则的事件模式都包含一个 account 字段,其中包含要从其接收事件的特定账户 ID。带账户字段的规则不匹配从其他账户发送的任何事件。

必需:是

类型:字符串

最低1

最高12

模式(\d{12}|\*)

Update requires: No interruption

StatementId

您授予了权限的外部账户的标识符字符串。如果您稍后需要撤消此外部账户的权限,则必须指定此 StatementId

必需:是

类型:字符串

最低1

最高64

模式[a-zA-Z0-9-_]+

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回事件总线策略 ID,例如 EventBusPolicy-1aBCdeFGh2J3

For more information about using the Ref function, see Ref.

示例

为一个账户授予权限

以下示例向一个账户 ID 为 111122223333 的 AWS 账户授予权限。

JSON

"SampleEventBusPolicy": { "Type": "AWS::Events::EventBusPolicy", "Properties": { "Action": "events:PutEvents", "Principal": "111122223333", "StatementId": "MyStatement" } }

YAML

SampleEventBusPolicy: Type: AWS::Events::EventBusPolicy Properties: Action: "events:PutEvents" Principal: "111122223333" StatementId: "MyStatement"

为组织授予权限

以下示例向组织 ID 为 o-1234567890 的组织中的所有 AWS 账户授予权限。

JSON

"SampleEventBusPolicy": { "Type": "AWS::Events::EventBusPolicy", "Properties": { "Action": "events:PutEvents", "Principal": "*", "StatementId": "MyStatement", "Condition": { "Type": "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890" } } }

YAML

SampleEventBusPolicy: Type: AWS::Events::EventBusPolicy Properties: Action: "events:PutEvents" Principal: "*" StatementId: "MyStatement" Condition: Type: "StringEquals" Key: "aws:PrincipalOrgID" Value: "o-1234567890"