我希望获得所有用户的所有IAM用户密码策略。
如何使用Boto3检查AWS账户中所有用户是否启用了IAM密码策略?
答案 0 :(得分:1)
密码策略是在帐户级别设置的,而不是针对个别用户。你可以使用这样的东西:
In [1]: import boto3
In [2]: iam = boto3.client('iam')
In [3]: iam.get_account_password_policy()
Out[3]:
{u'PasswordPolicy': {u'AllowUsersToChangePassword': True,
u'ExpirePasswords': False,
u'MinimumPasswordLength': 8,
u'RequireLowercaseCharacters': True,
u'RequireNumbers': True,
u'RequireSymbols': True,
u'RequireUppercaseCharacters': True},
'ResponseMetadata': {'HTTPStatusCode': 200,
'RequestId': 'f9a8fc8e-fbfc-11e5-992f-df20f934a99a'}}
确定帐户的当前政策。如果您想确保所有用户都遵守您的策略,请确保定期使密码失效,然后用户将被迫创建符合您的策略的新密码。
答案 1 :(得分:0)
您可以尝试使用旨在管理用户,组和角色的IAM策略的iam_policy
module for Ansible。它允许为IAM用户,组或角色上传或删除IAM策略。
在iam_policy.py
file中,您可以找到一些boto.iam
代码示例。 E.g。
current_policies = [cp for cp in iam.list_role_policies(name).list_role_policies_result.policy_names]
for pol in current_policies:
if urllib.unquote(iam.get_role_policy(name, pol).get_role_policy_result.policy_document) == pdoc:
policy_match = True
if policy_match:
# msg = ("The policy document you specified already exists "
# "under the name %s." % pol)
pass