从Powershell运行New-EC2Tag需要对哪些资源采取哪些策略操作?

从Powershell运行New-EC2Tag需要对哪些资源采取哪些策略操作?,powershell,amazon-web-services,amazon-ec2,amazon-iam,aws-powershell,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"],

我正在尝试运行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"
            }
        }
    }
    ]
}
{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“操作”:[“ec2:DescripteBinstances”,“ec2:CreateTags”],
“资源”:“arn:aws:ec2:ap-southeast-2::instance/*”,
“条件”:{
“StringEquals”:{
“ec2:ResourceTag/章鱼触须”:“是”
}
}
}
]
}
如上所述,它在策略模拟器中运行良好

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


New-EC2Tag还需要访问/执行哪些操作才能授予访问权限?

如果在清除
条件和对
资源进行通配符时
New-EC2Tag
起作用,那么我们应该检查这两种情况

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

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

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

这样就剩下条件了。。。标签。作为条件使用的标记必须已经存在于实例上,才能按预期应用策略。策略模拟器中的一个示例,其中标记已经存在:


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

谢谢Anthony。它在带有arn和condition的模拟器中工作,但在进一步研究中,通过CLI调用create tags时也不起作用。错误如下:“调用CreateTags操作时发生客户端错误(UnauthorizedOperation):您无权执行此操作。”Anthony正确地说,某些EC2操作的权限支持资源,而其他操作则不支持资源。根据EC2文档,“[…]因为在创建资源时不能对其进行标记,所以不能对由操作创建的资源使用任何标记条件键。(我们将在2014年的创建时添加对标记资源的支持。)”()这是否解决了您的问题?我希望如此。另外,AWS安全博客上有一篇博文,介绍了建立EC2访问策略的过程,该策略通过支持和不支持资源级权限的操作来执行。不知道这是否有帮助: