接收来自 AWS 服务的只读管理事件 - Amazon EventBridge

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

接收来自 AWS 服务的只读管理事件

您可以在默认或自定义事件总线上设置规则,通过接收来自 AWS 服务的只读管理事件 CloudTrail。管理事件可让您了解对 AWS 账户中的资源执行的管理操作。这些也称为控制面板操作。有关更多信息,请参阅《CloudTrail 用户指南》中的记录管理事件

对于针对默认或自定义事件总线的每条规则,您可以设置规则状态,以控制要接收的事件类型:

  • 禁用该规则,这样就 EventBridge 不会将事件与规则相匹配。

  • 启用该规则,以便将事件 EventBridge 与规则进行匹配,但通过传送的只读 AWS 管理事件除外 CloudTrail。

  • 启用该规则,以便将所有事件与规则进行 EventBridge 匹配,包括通过传送的只读管理事件 CloudTrail。

合作伙伴事件总线不接收 AWS 事件。

在决定是否接收只读管理事件时需要考虑以下几点:

  • 某些只读管理事件(例如 AWS Key Management Service GetKeyPolicyDescribeKey或 IAM GetPolicyGetRole事件)的发生量远高于典型的变更事件。

  • 如果只读管理事件不是以 DescribeGetList 开头,您可能已经在接收这些事件了。例如,以下事件 AWS STS APIs 是变更事件,即使它们以动词开头Get

    • GetFederationToken

    • GetSessionToken

    有关 AWS 服务不遵守DescribeGetList命名约定的只读管理事件的列表,请参阅中的 AWS 服务生成的管理事件 EventBridge

使用 AWS CLI 创建接收只读管理事件的规则
  • 使用 put-rule 命令创建或更新规则,同时使用参数执行以下操作:

    • 指定规则属于默认事件总线或特定的自定义事件总线

    • 将规则状态设置为 ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS

    aws events put-rule --name "ruleForManagementEvents" --event-bus-name "default" --state "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS"

注意

仅支持通过 AWS CLI 和 AWS CloudFormation 模板为 CloudWatch 管理事件启用规则。

以下示例说明了如何匹配特定事件。最佳实践是定义一个用于匹配特定事件的专用规则,这样既清晰又便于编辑。

在这种情况下,专用规则与来自的AssumeRole管理事件相匹配 AWS Security Token Service。

{ "source" : [ "aws.sts" ], "detail-type": ["AWS API Call via CloudTrail"], "detail" : { "eventName" : ["AssumeRole"] } }