EventBridge PutEvents 的基于标签的策略

问题描述

是否可以为 EventBridge PutEvents 操作配置基于标签的策略?

我希望,基于 IAM 角色中的标签,我可以控制哪些角色可以访问特定事件总线上的 PutEvents。我已尝试使用以下资源策略执行此操作:

{
  "Version": "2012-10-17","Statement": [{
    "Sid": "allow_tags_to_put_events","Effect": "Allow","Principal": "*","Action": "events:PutEvents","Resource": "<event-bus-arn>","Condition": {
      "StringEquals": {
        "aws:RequestTag/stage": "test"
      }
    }
  }]
}

这将允许任何标有 stage=test 的 IAM 角色能够执行 PutEvents。但这似乎不起作用。阅读此 https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html 表明可能 PutEvents 不支持 aws:RequestTag 条件,但某些操作支持,这对我来说似乎非常奇怪。

解决方法

这对我来说似乎很奇怪。

这并不奇怪。某些条件键仅适用于特定操作而不适用于其他操作的情况相当普遍。

所以你已经回答了你自己的问题。 PutEvents 操作仅支持少数几个键,其中没有一个是 aws:RequestTag

  • 事件:细节类型
  • 事件:来源
  • events:eventBusInvocation
  • aws:SourceArn
  • aws:SourceAccount