![](/img/trans.png)
[英]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.