Я хочу получить все политики паролей пользователей IAM для всех пользователей.
Как проверить, включена ли политика паролей IAM для всех пользователей в аккаунт AWS с помощью Boto3?
Я хочу получить все политики паролей пользователей IAM для всех пользователей.
Как проверить, включена ли политика паролей IAM для всех пользователей в аккаунт AWS с помощью Boto3?
Политика паролей устанавливается на уровне учетной записи, а не для отдельных пользователей. Вы можете использовать что-то вроде этого:
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'}}
Чтобы определить текущую политику для учетной записи. Если вы хотите убедиться, что все пользователи соблюдают вашу политику, периодически истекайте срок действия паролей, тогда пользователи будут вынуждены создать новый пароль, соответствующий вашей политике.
Вы можете попробовать использовать iam_policy
модуль для Ansible, который предназначен для управления политиками IAM для пользователей, группы и роли. Он позволяет загружать или удалять политики IAM для пользователей, групп или ролей IAM.
В iam_policy.py
файле вы можете найти _ 3_ примеры кода. Например.
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