繁体   English   中英

如何使用 boto3 创建特定类型的 IAM 角色?

[英]How to create an IAM role of specific type using boto3?

我正在尝试将用户锁定到AWS的特定VPC并遵循如何帮助将用户的 Amazon EC2 功能锁定到单个 VPC | AWS 安全博客

提到我们需要创建一个名为VPCLockDown的类型为AWS ServiceIAM role

IAM 角色类型

并添加角色需要访问的服务。 ec2lambda等。

我试图使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM