Как проверить политики паролей IAM в AWS с помощью Boto3?

Я хочу получить все политики паролей пользователей IAM для всех пользователей.

Как проверить, включена ли политика паролей IAM для всех пользователей в аккаунт AWS с помощью Boto3?


person Pradeep Potu    schedule 06.04.2016    source источник
comment
Это невозможно, поскольку эта информация не сохраняется.   -  person helloV    schedule 06.04.2016
comment
как насчет docs.aws.amazon. ru / cli / latest / reference / iam /   -  person mootmoot    schedule 06.04.2016


Ответы (2)


Политика паролей устанавливается на уровне учетной записи, а не для отдельных пользователей. Вы можете использовать что-то вроде этого:

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'}}

Чтобы определить текущую политику для учетной записи. Если вы хотите убедиться, что все пользователи соблюдают вашу политику, периодически истекайте срок действия паролей, тогда пользователи будут вынуждены создать новый пароль, соответствующий вашей политике.

person garnaat    schedule 06.04.2016

Вы можете попробовать использовать 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
person kenorb    schedule 20.06.2017