首页 > 解决方案 > 如何在 CloudFormation 中使用 OR 来设置多个条件?

问题描述

我正在编写一个 cloudFormation,如果角色至少适用于以下两个条件之一,我希望让我的 lambda 承担一个角色:

  1. 它有一个特定的标签。
  2. 它来自特定帐户。

为了做到这一点,我用第一个条件为 lambda 编写了执行角色(这似乎运行正常):

"Condition": {
       "ForAllValues:StringEquals": {
             "aws:TagKeys": "MonteCarloData"
       }
},

但是,根据本文档- https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html

似乎条件总是在它们之间存在 AND。所以不确定我怎样才能和第二个条件完成 OR 运算符。

任何的想法?

谢谢,尼尔。

标签: amazon-web-servicesaws-lambdaamazon-cloudformation

解决方案


根据评论。

单个 IAM 策略语句中的两个条件使用以下方法进行评估 AND

如果您的策略有多个条件运算符或附加到单个条件运算符的多个键,则使用逻辑 AND 评估条件。

因此,您可以创建两个单独的 IAM语句。一个用于第一个条件,第二个用于第二个条件。


推荐阅读