[英]Trying to create IAM Policy, Role and Users using Python (Boto3)
[英]How to create an IAM role of specific type using boto3?
我正在尝试将用户锁定到AWS
的特定VPC
并遵循如何帮助将用户的 Amazon EC2 功能锁定到单个 VPC | AWS 安全博客。
提到我们需要创建一个名为VPCLockDown
的类型为AWS Service
的IAM role
并添加角色需要访问的服务。 像ec2
, lambda
等。
我试图使用boto3
以编程方式创建此角色。
我检查了create_role 文档以使用boto3
创建角色。
但是,他们没有提到任何内容来指定角色类型和我可以指定角色应该有权访问的服务。
有没有办法在使用boto3
创建IAM role
时指定这些项目
编辑1:
我尝试根据Sudarshan Rampuria的回答创建一个 service_linked_role
response = iam.create_service_linked_role(
AWSServiceName='ec2.amazonaws.com',
)
但收到以下错误:
调用 CreateServiceLinkedRole 操作时发生错误 (AccessDenied):找不到 ec2.amazonaws.com 的服务链接角色模板
您可以使用 create_service_linked_role() 函数 boto3 将角色链接到服务。 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_service_linked_role
这是一个允许特定 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/*"
]
}
]
}
您可能需要更改区域。 (我在悉尼地区进行了测试。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.