diff options
author | Andrey Molotkov <molotkov-and@ydb.tech> | 2025-04-21 10:43:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-21 10:43:21 +0300 |
commit | 66bf91bb708c7f7bb89d94bc3112b4621a6c2ee2 (patch) | |
tree | ae14ff4e650b9152de4672cd35eeee65589759aa | |
parent | d05bb6dd593d2df597ed7f4d7eb9a44063d9050a (diff) | |
download | ydb-66bf91bb708c7f7bb89d94bc3112b4621a6c2ee2.tar.gz |
lgtm
Co-authored-by: azevaykin <145343289+azevaykin@users.noreply.github.com>
Co-authored-by: lopatinevgeny <lopatinevgeny@yandex-team.ru>
Co-authored-by: Ivan Blinkov <ivan@blinkov.ru>
-rw-r--r-- | ydb/docs/ru/core/dev/system-views.md | 2 | ||||
-rw-r--r-- | ydb/docs/ru/core/reference/configuration/index.md | 20 | ||||
-rw-r--r-- | ydb/docs/ru/core/security/authentication.md | 20 |
3 files changed, 41 insertions, 1 deletions
diff --git a/ydb/docs/ru/core/dev/system-views.md b/ydb/docs/ru/core/dev/system-views.md index f1053586ad0..51f4ba2c91a 100644 --- a/ydb/docs/ru/core/dev/system-views.md +++ b/ydb/docs/ru/core/dev/system-views.md @@ -443,7 +443,7 @@ WHERE Name = "olap"; ## Информация о пользователях, группах и их правах {#auth} -### Информация о пользователях +### Информация о пользователях {#users} Представление `auth_users` содержит список внутренних [пользователей](../concepts/glossary.md#access-user) {{ ydb-short-name }}. В него не входят пользователи, аутентифицированные через внешние системы, такие как LDAP. diff --git a/ydb/docs/ru/core/reference/configuration/index.md b/ydb/docs/ru/core/reference/configuration/index.md index 3710345a20e..67a7bb9b2c6 100644 --- a/ydb/docs/ru/core/reference/configuration/index.md +++ b/ydb/docs/ru/core/reference/configuration/index.md @@ -857,6 +857,26 @@ auth_config: | `special_chars` | Специальные символы, которые допустимо использовать в пароле. Допускается указать любое подмножество из следующих символов `!@#$%^&*()_+{}\|<>?=`. Значение (`""`) эквивалентно списку `!@#$%^&*()_+{}\|<>?=` | `""` | | `can_contain_username` | Может ли пароль содержать имя пользователя | `false` | +### Блокировка пользователя после неуспешных попыток ввода пароля {#account-lockout} + +{{ ydb-short-name }} позволяет заблокировать возможность аутентификации пользователя после неудачных попыток ввода пароля. Правила блокировки настраиваются в секции `account_lockout`. + +Пример секции `account_lockout`: + +```yaml +auth_config: + ... + account_lockout: + attempt_threshold: 4 + attempt_reset_duration: "1h" + ... +``` + +| Параметр | Описание | Значение по умолчанию | +| :--- | :--- | :---: | +| `attempt_threshold` | Максимальное количество неуспешных попыток ввода правильного пароля. После `attempt_threshold` неуспешных попыток пользователь будет заблокирован на время, заданное в параметре `attempt_reset_duration`. Нулевое значение параметра `attempt_threshold` указывает на отсутствие каких-лио ограничений на число попыток ввода пароля. После успешной аутентификации (ввода правильных имени пользователя и пароля), счетчик неуспешных попыток сбрасывается в значение 0. | 4 | +| `attempt_reset_duration` | Период времени блокировки пользователя. В течение этого периода пользователь не сможет аутентифицироваться в системе даже если введёт правильные имя пользователя и пароль. Период блокировки отсчитывается с момента последней неверной попытки ввода пароля. Если задан нулевой (`"0s"` - запись, эквивалентная 0 секунд) период блокировки, то пользователь будет считаться заблокированным на неограниченное время. В этом случае снять блокировку должен Администратор системы.<br/><br/>Минимальный интервал времени блокировки 1 секунда. <br/>Поддерживаемые единицы измерения:<ul><li>Секунды. `30s`</li><li>Минуты. `20m`</li><li>Часы. `5h`</li><li>Дни. `3d`</li></ul>Не допускается комбинировать единицы измерения в одной строке. Например такая запись некорректна: `1d12h`. Такую запись нужно заменить на эквивалентную, например `36h`. | "1h" | + ### Конфигурация LDAP аутентификации {#ldap-auth-config} Одним из способов аутентификации пользователей в {{ ydb-short-name }} является использование LDAP каталога. Подробнее о таком виде аутентификации написано в разделе про [использование LDAP каталога](../../security/authentication.md#ldap). Для конфигурирования LDAP аутентификации необходимо описать секцию `ldap_authentication`. diff --git a/ydb/docs/ru/core/security/authentication.md b/ydb/docs/ru/core/security/authentication.md index c11379a34cf..f7dc0c03392 100644 --- a/ydb/docs/ru/core/security/authentication.md +++ b/ydb/docs/ru/core/security/authentication.md @@ -63,6 +63,26 @@ {{ ydb-short-name }} позволяет дополнительно настраивать политики паролей пользователей. Пароли, указываемые в таких командах как `CREATE USER` и `ALTER USER`, должны соответствовать действующей [политике паролей](../reference/configuration/index.md#password-complexity). По умолчанию на пароль действуют следующие ограничения: принимается пароль любой длины, в том числе и пустая строка, в пароле может присутствовать произвольное число цифр, букв в различных регистрах и специальных символов из списка `!@#$%^&*()_+{}|<>?=`. Для наложения ограничений на сложность пароля необходимо настроить секцию `password_complexity` в [конфигурации](../reference/configuration/index.md#password-complexity). +### Защита от перебора пароля + +{{ ydb-short-name }} предоставляет защиту от перебора пароля пользователем. Пользователь будет считаться заблокированным, если превысит число попыток ввода неправильного пароля. По истечении указанного времени он снова получит возможность аутентифицироваться. + +{% note info %} + +Данный механизм применим только для пользователей, которые обслуживаются самой {{ ydb-short-name }}, для, так называемых, встроенных пользователей. Пользователи, обслуживаемые внешними источниками аутентификации, такими как LDAP серверы, не подпадают под действие механизма защиты от перебора пароля. + +{% endnote %} + +По умолчанию пользователю даётся 4 попытки ввести правильный пароль. В противном случае аутентификация для него будет запрещена в течение одного часа. Настроить критерии блокировки пользователя можно в [конфигурации](../reference/configuration/index.md#account-lockout). + +При необходимости администратор кластера или базы данных может досрочно [разблокировать](../yql/reference/syntax/alter-user.md) пользователя. + +Информацию о статусе блокировки пользователя и количества попыток неправильного ввода пароля можно узнать из [системного представления](../dev/system-views.md#информация-о-пользователях-users) пользователя. + +### Принудительная блокировка/разблокировка пользователя + +Существует ещё один способ запретить пользователю выполнять аутентификацию — принудительная блокировка администратором кластера или базы данных. Администраторы могут снимать блокировку с пользователей, заблокированных принудительно, а также с тех, кто превысил число попыток ввода неправильного пароля. Подробную информацию о принудительной блокировке и разблокировке пользователей можно найти в описании команды [`ALTER USER`](../yql/reference/syntax/alter-user.md). + ## Аутентификация с использованием LDAP-каталога {#ldap} В {{ ydb-short-name }} интегрировано взаимодействие с [LDAP каталогом](https://ru.wikipedia.org/wiki/LDAP). LDAP каталог является внешним по отношению к {{ ydb-short-name }} сервисом и используется для аутентификации и авторизации пользователей базы данных. Прежде чем воспользоваться данным способом аутентификации и авторизации необходимо иметь развернутый LDAP сервис и настроенный сетевой доступ между ним и серверами {{ ydb-short-name }}. |