如何在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}

我该怎么办?

1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen