aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Molotkov <molotkov-and@ydb.tech>2025-04-21 10:43:21 +0300
committerGitHub <noreply@github.com>2025-04-21 10:43:21 +0300
commit66bf91bb708c7f7bb89d94bc3112b4621a6c2ee2 (patch)
treeae14ff4e650b9152de4672cd35eeee65589759aa
parentd05bb6dd593d2df597ed7f4d7eb9a44063d9050a (diff)
downloadydb-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.md2
-rw-r--r--ydb/docs/ru/core/reference/configuration/index.md20
-rw-r--r--ydb/docs/ru/core/security/authentication.md20
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 }}.