使用AWS Identity Access Management(IAM)策略,是否可以为启动EC2实例的用户限制以下项目:
答案 0 :(得分:1)
据我所知,唯一的方法是在最终用户和AWS之间放置一个包含代码的逻辑层,例如使用一些python boto脚本。您还可以部署调用脚本的Web界面,或使用rundeck,jenkins等工具,并在这些界面中创建作业。
答案 1 :(得分:1)
您可以将策略限制为仅允许某些实例类型:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": [
"arn:aws:ec2:region::image/ami-*",
"arn:aws:ec2:region:account:instance/*",
"arn:aws:ec2:region:account:subnet/*",
"arn:aws:ec2:region:account:network-interface/*",
"arn:aws:ec2:region:account:volume/*",
"arn:aws:ec2:region:account:key-pair/*",
"arn:aws:ec2:region:account:security-group/sg-12345678"
],
"Condition": {
"StringEquals": {
"ec2:InstanceType": "m1.small"
}
}
}
]
}
此策略允许用户在VPC中启动实例,但只能启用m1.small实例类型。
您可以进一步限制对特定AMI,子网等的权限。例如,此处的安全组仅限于一个特定策略。
您不能限制通过IAM策略启动的实例数。
请参阅IAM user to limit number of ec2 instances and type和Example Policies for Working in the Amazon EC2 Console