簡體   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