首页 > 解决方案 > 设置显式条件时,AWS 策略语句不返回任何条件

问题描述

我从策略文档 json 中创建了一个策略,并尝试从每个语句中获取 condition_entries。在下面的示例中,我只有一个语句和一个条件,但由于某些原因,我返回了一个空列表。我究竟做错了什么?

from policyuniverse.policy import Policy
def test_conditions_entries(self):
    policy_document = {
        'Version': '2012-10-17',
        'Statement': [{
            'Effect': 'Allow',
            'Action': 'iam:DeleteUser',
            'Resource': '*',
            'Condition': {'StringLike': {'iam:ResourceTag/status': 'terminated'}}
        }]
    }
    p = Policy(policy_document)
    for statement in p.statements:
        print(statement.statement)
        print(statement.condition_entries)


{'Effect': 'Allow', 'Action': 'iam:DeleteUser', 'Resource': '*', 'Condition': {'StringLike': {'iam:ResourceTag/status': 'terminated'}}}
[] 

标签: pythonamazon-web-services

解决方案


看起来iam:ResourceTag/status不工作。

以下不起作用:

{"StringLike": {"iam:ResourceTag/status": "terminated"}

以下确实有效。

Condition = {
    'StringLike': {
        'AWS:SourceOwner': '012345678910'
    }
}

希望这对您有所帮助。


推荐阅读