【问题标题】:how do I launch ec2-instance with iam-role?如何使用 iam-role 启动 ec2-instance?
【发布时间】:2012-12-06 21:49:40
【问题描述】:

我可以在管理控制台中使用 iam-role 启动 ec2-instance。 但我不知道如何从 aws-ruby-sdk 使用 iam-role 启动 ec2-instance

iam-role "    test"'s Policy is here
    "Effect": "Allow",
    "Action": "*",
    "Resource": "*"

结果如下:

/var/lib/gems/1.8/gems/aws-sdk-1.7.1/lib/aws/core/client.rb:318:in `return_or_raise': 
You are not authorized to perform iam:PassRole with arn:aws:iam::xxxxxxxxxxx:role/test 
(AWS::EC2::Errors::UnauthorizedOperation)

【问题讨论】:

    标签: amazon-ec2 amazon-web-services


    【解决方案1】:

    您在 Ruby 脚本中使用的凭证无权使用“测试”IAM 角色启动实例。您需要为此用户修改策略,并授予其 IAM:PassRole 权限,例如:

    {
      "Statement": [{
          "Effect":"Allow",
          "Action":"ec2:RunInstances",
          "Resource":"*"
        },
        {
          "Effect":"Allow",
          "Action":"iam:PassRole",
          "Resource":"arn:aws:iam::xxxxxxxxxxx:role/test"
        }]
    }
    

    这是一项安全功能 - 可能会错误配置 IAM 以允许提权,因此 AWS 使用“默认安全”策略。

    您还可以使用此策略来允许您的用户使用任何 IAM 角色启动实例 - 但您应该在执行此操作之前考虑安全隐患:

        {
          "Effect":"Allow",
          "Action":"iam:PassRole",
          "Resource":"*"
        }]
    

    参考:http://docs.amazonwebservices.com/IAM/latest/UserGuide/role-usecase-ec2app.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-21
      • 2020-09-13
      • 2012-04-26
      • 2020-11-07
      • 1970-01-01
      • 2014-04-08
      • 2020-07-23
      • 2016-11-22
      相关资源
      最近更新 更多