Skip to content

Commit 66bf91b

Browse files
molotkov-andazevaykinlopatinevgenyblinkov
authored
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>
1 parent d05bb6d commit 66bf91b

File tree

3 files changed

+41
-1
lines changed

3 files changed

+41
-1
lines changed

ydb/docs/ru/core/dev/system-views.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ WHERE Name = "olap";
443443

444444
## Информация о пользователях, группах и их правах {#auth}
445445

446-
### Информация о пользователях
446+
### Информация о пользователях {#users}
447447

448448
Представление `auth_users` содержит список внутренних [пользователей](../concepts/glossary.md#access-user) {{ ydb-short-name }}. В него не входят пользователи, аутентифицированные через внешние системы, такие как LDAP.
449449

ydb/docs/ru/core/reference/configuration/index.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,26 @@ auth_config:
857857
| `special_chars` | Специальные символы, которые допустимо использовать в пароле. Допускается указать любое подмножество из следующих символов `!@#$%^&*()_+{}\|<>?=`. Значение (`""`) эквивалентно списку `!@#$%^&*()_+{}\|<>?=` | `""` |
858858
| `can_contain_username` | Может ли пароль содержать имя пользователя | `false` |
859859

860+
### Блокировка пользователя после неуспешных попыток ввода пароля {#account-lockout}
861+
862+
{{ ydb-short-name }} позволяет заблокировать возможность аутентификации пользователя после неудачных попыток ввода пароля. Правила блокировки настраиваются в секции `account_lockout`.
863+
864+
Пример секции `account_lockout`:
865+
866+
```yaml
867+
auth_config:
868+
...
869+
account_lockout:
870+
attempt_threshold: 4
871+
attempt_reset_duration: "1h"
872+
...
873+
```
874+
875+
| Параметр | Описание | Значение по умолчанию |
876+
| :--- | :--- | :---: |
877+
| `attempt_threshold` | Максимальное количество неуспешных попыток ввода правильного пароля. После `attempt_threshold` неуспешных попыток пользователь будет заблокирован на время, заданное в параметре `attempt_reset_duration`. Нулевое значение параметра `attempt_threshold` указывает на отсутствие каких-лио ограничений на число попыток ввода пароля. После успешной аутентификации (ввода правильных имени пользователя и пароля), счетчик неуспешных попыток сбрасывается в значение 0. | 4 |
878+
| `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" |
879+
860880
### Конфигурация LDAP аутентификации {#ldap-auth-config}
861881

862882
Одним из способов аутентификации пользователей в {{ ydb-short-name }} является использование LDAP каталога. Подробнее о таком виде аутентификации написано в разделе про [использование LDAP каталога](../../security/authentication.md#ldap). Для конфигурирования LDAP аутентификации необходимо описать секцию `ldap_authentication`.

ydb/docs/ru/core/security/authentication.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,26 @@
6363
{{ ydb-short-name }} позволяет дополнительно настраивать политики паролей пользователей. Пароли, указываемые в таких командах как `CREATE USER` и `ALTER USER`, должны соответствовать действующей [политике паролей](../reference/configuration/index.md#password-complexity).
6464
По умолчанию на пароль действуют следующие ограничения: принимается пароль любой длины, в том числе и пустая строка, в пароле может присутствовать произвольное число цифр, букв в различных регистрах и специальных символов из списка `!@#$%^&*()_+{}|<>?=`. Для наложения ограничений на сложность пароля необходимо настроить секцию `password_complexity` в [конфигурации](../reference/configuration/index.md#password-complexity).
6565

66+
### Защита от перебора пароля
67+
68+
{{ ydb-short-name }} предоставляет защиту от перебора пароля пользователем. Пользователь будет считаться заблокированным, если превысит число попыток ввода неправильного пароля. По истечении указанного времени он снова получит возможность аутентифицироваться.
69+
70+
{% note info %}
71+
72+
Данный механизм применим только для пользователей, которые обслуживаются самой {{ ydb-short-name }}, для, так называемых, встроенных пользователей. Пользователи, обслуживаемые внешними источниками аутентификации, такими как LDAP серверы, не подпадают под действие механизма защиты от перебора пароля.
73+
74+
{% endnote %}
75+
76+
По умолчанию пользователю даётся 4 попытки ввести правильный пароль. В противном случае аутентификация для него будет запрещена в течение одного часа. Настроить критерии блокировки пользователя можно в [конфигурации](../reference/configuration/index.md#account-lockout).
77+
78+
При необходимости администратор кластера или базы данных может досрочно [разблокировать](../yql/reference/syntax/alter-user.md) пользователя.
79+
80+
Информацию о статусе блокировки пользователя и количества попыток неправильного ввода пароля можно узнать из [системного представления](../dev/system-views.md#информация-о-пользователях-users) пользователя.
81+
82+
### Принудительная блокировка/разблокировка пользователя
83+
84+
Существует ещё один способ запретить пользователю выполнять аутентификацию — принудительная блокировка администратором кластера или базы данных. Администраторы могут снимать блокировку с пользователей, заблокированных принудительно, а также с тех, кто превысил число попыток ввода неправильного пароля. Подробную информацию о принудительной блокировке и разблокировке пользователей можно найти в описании команды [`ALTER USER`](../yql/reference/syntax/alter-user.md).
85+
6686
## Аутентификация с использованием LDAP-каталога {#ldap}
6787

6888
В {{ ydb-short-name }} интегрировано взаимодействие с [LDAP каталогом](https://ru.wikipedia.org/wiki/LDAP). LDAP каталог является внешним по отношению к {{ ydb-short-name }} сервисом и используется для аутентификации и авторизации пользователей базы данных. Прежде чем воспользоваться данным способом аутентификации и авторизации необходимо иметь развернутый LDAP сервис и настроенный сетевой доступ между ним и серверами {{ ydb-short-name }}.

0 commit comments

Comments
 (0)