我正在尝试将用户锁定在VPC
中并紧随How to Help Lock Down a User’s Amazon EC2 Capabilities to a Single VPC | AWS Security Blog之后的特定AWS
中。
我们提到需要创建一个IAM role
类型为VPCLockDown
的{{1}}
并添加角色需要访问的服务。例如AWS Service
,ec2
等
我正尝试使用lambda
以编程方式创建此角色。
我检查了create_role documentation是否使用boto3
创建角色。
但是,他们没有提及任何内容来指定角色的类型以及我可以指定的角色应该访问的服务。
使用boto3
创建IAM role
时,有什么方法可以指定这些项目
编辑1:
我尝试按照 Sudarshan Rampuria 的答案(如
)创建service_linked_roleboto3
但是出现以下错误:
调用时发生错误(AccessDenied) CreateServiceLinkedRole操作:找不到服务链接角色 ec2.amazonaws.com的模板
答案 0 :(得分:0)
您可以使用create_service_linked_role()函数boto3将角色链接到服务。 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_service_linked_role
答案 1 :(得分:0)
以下是一项政策,允许特定的IAM用户启动实例(RunInstances
,但只能在给定的VPC中启动
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EC2RunInstancesVPC",
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:ap-southeast-2:111111111111:subnet/*",
"Condition": {
"StringEquals": {
"ec2:vpc": "arn:aws:ec2:ap-southeast-2:111111111111:vpc/vpc-abcd1234" <--- Change this
}
}
},
{
"Sid": "RemainingRunInstancePermissions",
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": [
"arn:aws:ec2:ap-southeast-2:111111111111:instance/*",
"arn:aws:ec2:ap-southeast-2:111111111111:volume/*",
"arn:aws:ec2:ap-southeast-2::image/*",
"arn:aws:ec2:ap-southeast-2::snapshot/*",
"arn:aws:ec2:ap-southeast-2:111111111111:network-interface/*",
"arn:aws:ec2:ap-southeast-2:111111111111:key-pair/*",
"arn:aws:ec2:ap-southeast-2:111111111111:security-group/*"
]
}
]
}
您可能需要更改地区。 (我在悉尼地区进行了测试。)