问题描述
是否可以为 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