AWS IAM仅显示未标记的EC2实例

时间:2017-12-19 14:17:50

标签: amazon-web-services amazon-ec2 amazon-iam

我尝试引入访客IAM策略来限制对EC2实例的访问。 我试图达到这个目的,来宾政策只显示那些没有标记为'部门'或标记为' Department = Guest'。

这是我为此制定的政策:

策略:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "ec2:Describe*"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:ResourceTag/Department": "Guest"
            },
            "Null": {
                "ec2:ResourceTag/Department": "true"
            }
        }
    }
]}

"Department = Guest"比较效果很好,但资源标签存在检查无效。

有没有其他方法可以列出实例,而这些实例并没有“部门”。标记

2 个答案:

答案 0 :(得分:1)

由于所有EC2都描述了API调用do not support resource level permission,因此无法根据标记(通过其他方式)控制IAM用户可以在同一区域中查看哪些EC2资源的用例。

因此我们不能使用EC2条件(ec2:Region除外)" ec2:Describe *"行动。所以,要么你允许查看资源,要么不要。

答案 1 :(得分:0)

我认为当你在单个IAM语句中有多个条件时,它们会在AND情况下处理,这意味着它们都必须为真。

尝试使用2个语句,每个语句都有一个条件:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "ec2:Describe*"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:ResourceTag/Department": "Guest"
            }
        }
    },
    {
        "Sid": "VisualEditor1",
        "Effect": "Allow",
        "Action": [
            "ec2:Describe*"
        ],
        "Resource": "*",
        "Condition": {
            "Null": {
                "ec2:ResourceTag/Department": "true"
            }
        }
    }
]}