AWS 组内联策略使用标签限制对特定资源的访问

AWS 组内联策略使用标签限制对特定资源的访问

我已经创建了开发组,我想在其中实施组内联策略,该策略将允许每个成员能够描述具有带有密钥“Product”的标签的 EC2 实例,该密钥的值为“TestProduct”。下面显示的示例未授予所需的访问权限,如果我保留 resosurce *,它就可以工作,因此这是我定义它的方式,而不是凭据或更高级别。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "XXXX",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Product": "TestProduct"
                }
            }
        }
    ]
}

我在 aws cli 中收到的错误是:调用 DescribeInstances 操作时发生错误(UnauthorizedOperation):您无权执行此操作。

答案1

ec2:DescribeInstances命令不支持资源级权限。这意味着您必须在 IAM 策略语句中指定*为。如果您指定除为以外的任何内容,则授权将失败(正如您已经看到的那样)。Resource*Resource

这意味着您无法对某些 IAM 用户“隐藏”实例。IAM 用户要么可以看到所有实例,要么看不到任何实例。

支持资源级权限的命令列表请参阅以下文档:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html

相关内容