Amazon web services 通过AWS cli启动实例的AWS策略

Amazon web services 通过AWS cli启动实例的AWS策略,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我想向IAM用户附加一个AWS策略,该策略只允许对EC2上的start instance和stop instance使用AWS CLI 它通过使用AmazonEC2FullAccess策略工作,但我想限制它 我混合使用了startInstances,stopInstances,descripbeInstances。。。但它不起作用 我正在使用aws ec2启动实例——实例ID I-123 有什么想法吗 { "Version": "2012-10-17", "Statement":

我想向IAM用户附加一个AWS策略,该策略只允许对EC2上的
start instance
stop instance
使用AWS CLI

它通过使用
AmazonEC2FullAccess
策略工作,但我想限制它

我混合使用了
startInstances
stopInstances
descripbeInstances
。。。但它不起作用


我正在使用aws ec2启动实例——实例ID I-123

有什么想法吗

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": ["cloudwatch:*","ec2:Describe*"],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": ["ec2:StartInstances","ec2:StopInstances"],
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:eu-central-1b:123412341234:instance/i-123412341234"
        }
    ]
}

允许IAM用户“ec2:StartInstances”和“ec2:StopInstances”的策略如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": ["cloudwatch:*","ec2:Describe*"],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": ["ec2:StartInstances","ec2:StopInstances"],
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
        }
    ]
}
请参见cloudwatch和ec2:Descripte操作如何在单独的语句中显示,它们过去仅支持资源“*”
。您可以看到AWS也做了同样的事情,将EC2操作与描述和标记分开:


您应该包括IAM策略的净化版本。您看到了什么错误消息(比“它不工作”更好的描述)?错误消息已加密。AWS错误响应(代码和消息)未加密(除了通过HTTPS发送给您之外)。您是否以某种方式加密(但无法解密)响应?此外,如果没有策略和实际错误,我们真的无法帮助正确诊断。您可以使用,Hello来解码错误消息。我使用了上面的代码,但仍然不起作用。它说:“调用StopInstance操作时发生错误(未经授权的操作)。您无权执行此操作”。@Steve,您能让我看一下您的代码吗?请回答这个问题,可以吗?我正在使用aws ec2启动实例——实例ID I-123。这有帮助吗?我在上面的初始问题中添加了我测试过的策略。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/UserName": "${aws:username}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": "*"
    }
  ]
}