【发布时间】:2020-11-05 18:25:21
【问题描述】:
我正在编写 cloudFormation,如果角色至少适用于以下两个条件之一,我希望允许我的 lambda 担任角色:
- 它有一个特定的标签。
- 它来自特定帐户。
为了做到这一点,我用第一个条件为 lambda 编写了执行角色(这似乎运行正常):
"Condition": {
"ForAllValues:StringEquals": {
"aws:TagKeys": "MonteCarloData"
}
},
但是,根据此文档-https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html
似乎条件之间总是有 AND。 所以不确定我怎样才能和第二个条件完成 OR 运算符。
有什么想法吗?
谢谢, 尼尔。
【问题讨论】:
-
Lambda 不支持基于标签的条件。你能澄清一下你想要达到的目标吗?
-
这是 lambda 执行角色的条件。我想让我的 lambda 扮演一个角色。
-
只需制作两个单独的 IAM 政策声明。一个带有第一个条件,第二个带有第二个条件。
-
我想这会奏效。想也许还有更优雅的东西。谢谢!
-
是的,看起来是这样。无论如何,对于第二个条件,我认为我需要对资源进行一些限制,以确保它来自另一个帐户。
标签: amazon-web-services aws-lambda amazon-cloudformation