3

我正在尝试运行 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"
            }
        }
    }
    ]
}

它在上面的策略模拟器中运行良好。

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

我还需要授予访问权限的 New-EC2Tag 访问/做什么?

4

1 回答 1

2

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

根据一些调查,New-EC2Tag的相关 API 操作是CreateTags。根据Amazon EC2 API 操作支持的资源和条件,一些 API 操作不支持 ARN。似乎就是这种情况CreateTags,因为它要求您指定资源 ID。我在上面链接的“支持的资源...”文档也证实了这一点,该文档没有将 CreateTags 列为支持 arns。

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

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

所以这就留下了条件......标签。您用作条件的标签需要已经存在于实例上,才能按预期应用策略。来自策略模拟器的示例,其中标签已存在:

允许使用 DescribeTags 和 DescribeInstances。

另一个考虑是该操作可能同样不支持条件,但我还没有找到任何支持它的东西。

于 2014-05-01T14:28:02.380 回答