Amazon ec2 如何使用iam角色启动ec2实例?
我可以在管理控制台中使用iam角色启动ec2实例。 但我不知道如何从aws ruby sdk启动具有iam角色的ec2实例Amazon ec2 如何使用iam角色启动ec2实例?,amazon-ec2,amazon-web-services,Amazon Ec2,Amazon Web Services,我可以在管理控制台中使用iam角色启动ec2实例。 但我不知道如何从aws ruby sdk启动具有iam角色的ec2实例 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_rais
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)
您在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":"*"
}]
参考: