从Powershell运行New-EC2Tag需要哪些资源的策略?

时间:2014-05-01 08:22:12

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

我正在尝试运行New-EC2Tag,收到以下错误:

New-EC2Tag : You are not authorized to perform this operation.

用户政策如下:

{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Effect": "Allow",
        "Action": ["ec2:DescribeInstances","ec2:CreateTags"],
        "Resource": "arn:aws:ec2:ap-southeast-2:<my_account_id>:instance/*",
        "Condition": {
            "StringEquals": {
                "ec2:ResourceTag/OctopusTentacle": "yes"
            }
        }
    }
    ]
}

如上所述,它在Policy Simulator中工作正常。

如果我删除条件并将资源设置为*就可以了。删除条件或将资源设置为*单独不起作用。我在实例上以本地管理员身份运行它。

New-EC2Tag还有什么可以访问/执行我需要授予访问权限?

1 个答案:

答案 0 :(得分:2)

如果New-EC2Tag在清除Condition并通配Resource时有效,那么我们应该检查这两个。

根据某些调查,New-EC2Tag的相关API操作为CreateTags。根据{{​​3}},某些API操作不支持ARN。这似乎是CreateTags的情况,因为它要求您指定资源ID。上面链接的“支持的资源...”文档也证实了这一点,它没有将CreateTags列为支持arns。

在这种情况下,文档建议您将策略设置为:

  

如果API操作不支持ARN,请使用*通配符指定   所有资源都会受到行动的影响。

这就是条件......标签。作为条件使用的标记需要已存在于实例上,以便按预期应用策略。来自策略模拟器的示例,其中标记已存在:

DescribeTags and DescribeInstances are allowed.

另一个考虑因素是该行动可能同样不支持条件,但我没有找到任何支持条件。