如何在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 réponse
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
EXPERT
répondu il y a 5 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions