如何在IAM策略的条件中使用逻辑 OR

0

【以下的问题经过翻译处理】 我似乎找不到想要的,但我想要做的是在策略中基于标签对操作创建一个条件。

标签aws:RequestTag / owner或标签aws:ResourceTag / owner必须存在并等于${aws:PrincipalTag / owner}

{
    “Sid”:“AllowUnlessOwnedBySomeoneElse”,
    “Effect”:“Allow”,
    “Action”:“*”,
    “Resource”:“*”
    “Condition”:{
        “StringEquals”:{
            'aws:RequestTag / owner':“${aws:PrincipalTag / owner}”,
            'aws:ResourceTag / owner':“${aws:PrincipalTag / owner}”
        }
    }
}

问题是按照上面的编写,这意味着aws:RequestTag / owneraws:ResourceTag / owner标签都存在,这是不可能的。

我需要确保这两个标签中至少一个存在,并且它们等于${aws:PrincipalTag / owner}

我该怎么办?

profile picture
專家
已提問 5 個月前檢視次數 57 次
1 個回答
0

【以下的回答经过翻译处理】 解决这个问题的一种方法如下: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "", "Resource": "", "Condition": { "StringEquals": 'aws:RequestTag/owner': "${aws:PrincipalTag/owner}" } }, { "Effect": "Allow", "Action": "", "Resource": "", "Condition": { "StringEquals": 'aws:ResourceTag/owner': "${aws:PrincipalTag/owner}" } } ] }

您可以在单个IAM语句中有多个“Allow”结构。其中任何一个都可以允许操作。

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南