我正在创建一个跨账户角色以分布在多个 AWS 账户中。目标是允许我的一个 lambda 承担这个 CrossAccount 角色并在目标账户中创建 CFN 堆栈。
为了允许删除堆栈,我需要将ec2:TerminateInstances之类的操作分配给角色。但我不想允许对所有资源“*”执行操作。如何只允许对具有特定标签的资源执行此操作?
我尝试了以下政策条件,但它不起作用。当尝试删除堆栈时,我在ec2:TerminateInstances操作上遇到未经授权的错误。
- Effect: "Allow"
Action:
- "ec2:TerminateInstances"
Resource: "*"
Condition:
StringEquals:
aws:RequestTag/Usage: TestOnlyTag
我在正确的轨道上吗?
请注意,此角色需要在创建堆栈之前部署到目标帐户中。所以这里没有办法指定Instance-Id。