使用 Boto3 将 IAM 用户附加到 IAM 组

Posted

技术标签:

【中文标题】使用 Boto3 将 IAM 用户附加到 IAM 组【英文标题】:Attaching IAM user to IAM Group using Boto3 【发布时间】:2020-12-07 18:17:55 【问题描述】:

我正在尝试为使用 Boto3 的 IAM 组创建 IAM 策略。到目前为止,我无法将 IAM 用户添加到 IAM 组。对于“response = iam.add_user_to_group(”,我收到一个错误,“发生异常:AttributeError 'iam.ServiceResource' 对象没有属性 'add_user_to_group'"

import boto3
iam = boto3.resource('iam') #using resource representing IAM
created_user = iam.create_user(
    UserName='some_random_user'
)
print(created_user)

create_group_response = iam.create_group(GroupName = 'Tester')

response = iam.add_user_to_group(
UserName = 'some_random_user', #Name of user
GroupName = 'Tester'
)

response = iam.attach_user_policy(
UserName = 'some_random_user', #Name of user
PolicyArn = 'arn:aws:iam::196687784845:policy/boto-test' 
# Policy ARN which you want to asign to user
)

不知道问题出在哪里,我对 python 和 boto 很陌生,所以可能是一件很小的事情。

【问题讨论】:

create_group_response.add_user(UserName='some_random_user') 【参考方案1】:

根据doc,add_user_to_group 是 IAM client(不是资源)的操作。改为对组资源使用 this 操作。

【讨论】:

所以你的意思是而不是 "iam.add_user_to_group (" 我应该使用 "iam.add_user (" 。如果这就是你所暗示的那样似乎也行不通 @PranaySinghParihar 请参阅上面 jordanm 的评论。

以上是关于使用 Boto3 将 IAM 用户附加到 IAM 组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python boto3 将新角色权限附加到 aws 中的 iam_role?

如何在 boto3 中获取 iam 用户的内联策略文档?

通过 boto3 担任 IAM 用户角色时访问被拒绝

使用 Pulumi 将 IAM 托管策略附加到 IAM 用户不起作用

创建附加到用户的 IAM 策略,限制用户使用某些操作创建自定义托管策略

AWS ECS Docker 容器 Boto3 IAM 权限