Настроить парольную политику
Чтобы настроить парольную политику:
-
Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации. -
На панели слева нажмите
Пулы пользователей и выберите нужный пул пользователей. -
Нажмите Парольная политика
и выберите Настроить политику. -
В блоке Сложность пароля укажите настройки классов символов в пароле:
-
Произвольные — настройте минимальную длину в зависимости от количества классов символов, которые используются в пароле:
- 1 класс (
abc); - 2 класса (
aBc); - 3 класса (
aBc1); - 4 класса (
aB#c1).
Это предпочтительный вариант, поскольку не требует наличия определенных символов и позволяет пользователям делать более простые для запоминания, но надежные пароли.
- 1 класс (
-
Обязательные — выберите типы символов, которые должны использоваться в пароле, активируя следующие опции:
- Строчные буквы латинского алфавита;
- Заглавные буквы латинского алфавита;
- Цифры;
- Специальные символы, например
!@#$%^&*.
В поле Минимальная длина задайте минимальное число символов в пароле, но не менее 7.
-
-
В блоке Срок жизни пароля задайте минимальный и максимальный срок жизни пароля (до 730 дней) или выберите Без ограничений.
-
В блоке Защита пароля от подбора задайте:
- Количество неудачных попыток ввода пароля до блокировки — от 1 до 100.
- Интервал для подсчёта неудачных попыток в минутах или секундах.
- Продолжительность блокировки в минутах или секундах.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для обновления пула пользователей:
yc organization-manager idp userpool update --help -
Получите список пулов пользователей в организации:
yc organization-manager idp userpool list \ --organization-id <идентификатор_организации> -
Настройте парольную политику для пула пользователей:
yc organization-manager idp userpool update <идентификатор_пула> \ --password-smart-one-class <минимальная_длина_для_1_класса> \ --password-smart-two-classes <минимальная_длина_для_2_классов> \ --password-smart-three-classes <минимальная_длина_для_3_классов> \ --password-smart-four-classes <минимальная_длина_для_4_классов> \ --password-allow-similar \ --password-match-length <длина_подстроки_для_проверки> \ --password-max-length <максимальная_длина_пароля> \ --password-min-days <минимальный_срок_жизни_в_днях> \ --password-max-days <максимальный_срок_жизни_в_днях> \ --bruteforce-attempts <количество_попыток> \ --bruteforce-window <интервал_подсчета> \ --bruteforce-block <продолжительность_блокировки>Где:
-
Для настройки произвольных типов символов (smart policy):
--password-smart-one-class— минимальная длина пароля с одним классом символов (например, только строчные буквы).--password-smart-two-classes— минимальная длина пароля с двумя классами символов (например, строчные и заглавные буквы).--password-smart-three-classes— минимальная длина пароля с тремя классами символов (например, буквы и цифры).--password-smart-four-classes— минимальная длина пароля с четырьмя классами символов (буквы, цифры и специальные символы).
-
Для настройки обязательных типов символов (fixed policy):
--password-fixed-min-length— минимальная длина пароля (не менее 7 символов).--password-fixed-lowers-required— требовать строчные буквы.--password-fixed-uppers-required— требовать заглавные буквы.--password-fixed-digits-required— требовать цифры.--password-fixed-specials-required— требовать специальные символы.
-
--password-allow-similar— разрешить использование паролей, похожих на предыдущие. Если флаг не указан, похожие пароли запрещены. -
--password-match-length— минимальная длина подстроки для проверки на сходство с уязвимыми последовательностями. -
--password-max-length— максимальная длина пароля. Значение0означает отсутствие ограничения. -
--password-min-days— минимальное количество дней до смены пароля. -
--password-max-days— максимальное количество дней, в течение которых пароль остается действительным (до 730 дней). Значение0означает, что пароли не истекают. -
--bruteforce-attempts— количество неудачных попыток ввода пароля до блокировки (от 1 до 100). -
--bruteforce-window— интервал для подсчета неудачных попыток (например,10mдля 10 минут или600sдля 600 секунд). -
--bruteforce-block— продолжительность блокировки после превышения лимита попыток (например,10mили600s).
Пример команды для настройки парольной политики:
С произвольным типом символовС обязательными типами символовyc organization-manager idp userpool update fpd9mu9gqq12******** \ --password-smart-one-class 24 \ --password-smart-two-classes 14 \ --password-smart-three-classes 11 \ --password-smart-four-classes 10 \ --password-max-length 128 \ --password-max-days 365 \ --bruteforce-attempts 15 \ --bruteforce-window 10m \ --bruteforce-block 10myc organization-manager idp userpool update fpd9mu9gqq12******** \ --password-fixed-min-length 8 \ --password-fixed-lowers-required \ --password-fixed-uppers-required \ --password-fixed-digits-required \ --password-max-length 128 \ --password-max-days 365 \ --bruteforce-attempts 15 \ --bruteforce-window 10m \ --bruteforce-block 10m -
Подробнее о команде yc organization-manager idp userpool update см. в справочнике CLI.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Подробнее о Terraform см. в документации.
-
Создайте конфигурационный файл с параметрами пула пользователей и парольной политикой:
resource "yandex_organizationmanager_idp_userpool" "my_userpool" { name = "<имя_пула>" organization_id = "<идентификатор_организации>" default_subdomain = "<поддомен>" description = "<описание_пула>" password_quality_policy = { allow_similar = true max_length = 128 match_length = 4 # Используйте либо `smart`, либо `fixed` # Настройка произвольных типов символов smart = { one_class = 24 two_classes = 14 three_classes = 11 four_classes = 10 } # Настройка обязательных типов символов fixed = { min_length = 8 lowers_required = true uppers_required = true digits_required = true specials_required = false } } password_lifetime_policy = { min_days_count = 0 max_days_count = 365 } bruteforce_protection_policy = { attempts = 15 window = "10m" block = "10m" } }Где:
-
name— имя пула пользователей. -
organization_id— идентификатор организации. -
default_subdomain— поддомен по умолчанию для пула. -
description— описание пула пользователей. -
password_quality_policy— настройки сложности пароля:allow_similar— разрешить использование паролей, похожих на предыдущие.max_length— максимальная длина пароля. Значение0означает отсутствие ограничения.match_length— минимальная длина подстроки для проверки на сходство с уязвимыми последовательностями.
Используйте либо
smart, либоfixed.-
smart— настройка произвольных типов символов (минимальная длина в зависимости от количества классов).one_class— минимальная длина пароля с одним классом символов (например, только строчные буквы).two_classes— минимальная длина пароля с двумя классами символов (например, строчные и заглавные буквы).three_classes— минимальная длина пароля с тремя классами символов (например, буквы и цифры).four_classes— минимальная длина пароля с четырьмя классами символов (буквы, цифры и специальные символы).
-
fixed— настройка обязательных типов символов (используйте вместоsmart).min_length— минимальная длина пароля (не менее 7 символов).lowers_required— требовать строчные буквы.uppers_required— требовать заглавные буквы.digits_required— требовать цифры.specials_required— требовать специальные символы.
-
password_lifetime_policy— настройки срока жизни пароля.min_days_count— минимальное количество дней до смены пароля.max_days_count— максимальное количество дней, в течение которых пароль остается действительным (до 730 дней). Значение0означает, что пароли не истекают.
-
bruteforce_protection_policy— настройки защиты от подбора пароля.attempts— количество неудачных попыток ввода пароля до блокировки (от 1 до 100).window— интервал для подсчета неудачных попыток (например,10mдля 10 минут или600sдля 600 секунд).block— продолжительность блокировки после превышения лимита попыток (например,10mили600s).
Более подробную информацию о параметрах ресурса
yandex_organizationmanager_idp_userpoolсм. в документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанной организации будет создан пул пользователей с заданной парольной политикой. Проверить появление пула и его настройки можно в интерфейсе Cloud Center
yc organization-manager idp userpool get <идентификатор_пула>
Воспользуйтесь методом REST API update для ресурса Userpool или вызовом gRPC API UserpoolService/Update.