【发布时间】:2019-11-02 01:09:34
【问题描述】:
我的问题:我正在尝试使用 Python 和 Boto3 库创建 AWS CLI 脚本。我希望脚本要求输入(用户名?编程访问?附加到哪个组?第一次登录时更改密码?等等)并使用这些详细信息设置用户。
我的尝试:我可以创建用户并授予用户编程访问权限。 我的问题在于将选定的组 ARN 传递给 attach_group_policy PolicyARN='aws:aws:iam::aws:policy/xxxx
我觉得这里很适合,但想不出该怎么做。希望下面的代码能更好地显示我的问题。
iam = boto3.resource('iam')
iam_keys = boto3.resource('iam')
group_list = boto3.client('iam')
attach_group = boto3.client('iam')
mail = raw_input("Please enter your e-mail address: ")
response = iam.create_user(UserName=mail)
prog = raw_input("Do you require programmatic access?(y/n): ")
if prog == "y":
iam_keys.create_access_key(UserName=mail)
print("Make sure awscli is installed on your machine")
elif prog == "n":
print("Console access only")
### it is this area downwards that things break/get confusing
list = group_list.list_groups(MaxItems=150) ### works
for "GroupName" in list: ### works
print(list) ### works; prints as large JSON, need to output just u' GroupName
float(input("Please pick a Group {}".format(attach)))
var = attach_group.attach_group_policy(GroupName=attach, PolicyArn='aws:aws:iam::aws:policy/xxxx') ### Broke; need to fill in ARN somehow after forward slash
print(response, prog)
我希望将所选策略(通过键入组的确切名称选择)附加到用户。
非常感谢任何帮助,我对 Python 的了解很少,一直在关注https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
谢谢。
【问题讨论】:
标签: python amazon-web-services aws-sdk boto3 aws-cli