使用厨师刀启动 EC2 实例需要 IAM 中的哪些权限?

And*_*sov 7 chef amazon-ec2

问题 1:我尝试在 IAM AWS 控制台中创建用户,该用户仅具有使用 Knife ec2 方法启动新实例的受限权限。目前只有具有“Amazon EC2 完全访问权限”策略的完全访问权限才有效。创建用户并授予启动/停止实例和描述图像不起作用。

Q2:我如何调试这个

ERROR: Fog::Compute::AWS::Error: UnauthorizedOperation => You are not authorized to perform this operation.
Run Code Online (Sandbox Code Playgroud)

并追踪我到底需要哪些许可。(-V -V -V 不起作用)

小智 7

Q1:为了找出启动 EC2 实例所需的最低 IAM 权限,我必须调试 Knife-ec2 gem。这是最低限度的政策:

{
  "Statement": [
    {
      "Sid": "Stmt123",
      "Action": [
        "ec2:RunInstances",
        "ec2:DescribeInstances",
        "ec2:DescribeKeyPairs",
        "ec2:DescribeImages",
        "ec2:CreateTags",
        "ec2:DescribeTags"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

请注意 Sid 应该是唯一的。

Q2:我对 Ruby 的了解非常有限,所以可能没有方便的调试方法。我个人使用 binding.pry 作为调试器。请参阅以下文章了解更多信息。