AWS IAM 策略模拟器:如果至少有一个区域允许操作,如何返回 true

Posted

技术标签:

【中文标题】AWS IAM 策略模拟器:如果至少有一个区域允许操作,如何返回 true【英文标题】:AWS IAM Policy Simulator: how to return true if there is at least one region where action is allowed 【发布时间】:2021-02-09 08:26:25 【问题描述】:

我正在尝试使用 AWS IAM 策略模拟器,但是我无法弄清楚一件事,我没有找到明确的答案 in the documentation。

当我模拟策略时:


"Version": "2010-10-17",
"Statement": [
    
        "Sid": "MyCoolID",
        "Effect": "Allow",
        "Action": [
            "ec2:CreateTags"
        ],
        "Resource": "*"
    ]

如果我没有在 Resource 字段中指定区域,模拟器会检查所有区域吗?如果只有一个区域我不能ec2:CreateTags,那么模拟器会失败吗?我会得到Implicit Deny,即使在大多数地区我都可以创建标签?

如果是这样,我该如何模拟类似“如果至少有一个区域可以 ec2**:CreateTags** 则返回 true”

【问题讨论】:

【参考方案1】:

如果您在策略中指定了区域条件,则可以通过在全局设置中设置区域名称来模拟,然后运行模拟。它将仅评估该特定区域的访问权限

【讨论】:

谢谢,但这并不能回答问题:如果至少有一个区域,如何返回 true 您必须特别在全局设置中设置区域名称,否则它将返回拒绝。模拟器没有具体列出失败的区域。您可以使用 api 调用来做同样的事情并提供区域代码作为输入。 docs.aws.amazon.com/cli/latest/reference/iam/…【参考方案2】:

如果我不指定区域,那么模拟器将检查所有区域

【讨论】:

以上是关于AWS IAM 策略模拟器:如果至少有一个区域允许操作,如何返回 true的主要内容,如果未能解决你的问题,请参考以下文章

AWS IAM 策略允许用户创建具有特定策略/角色的 IAM 用户

AWS IAM 策略模拟器的功能测试工具

允许用户访问特定 S3 存储桶进行备份的 AWS IAM 策略

在 IAM 策略中限制 EC2 实例的类型

AWS IAM 策略:如何更改 AWSLambdaFullAccess 策略以仅允许访问一个 S3 存储桶?

创建 AWS IAM 策略,将正在运行的实例限制为特定安全组