Наборы пользователей
Набор пользователей — локальная база учётных записей кластера балансировки. В нём лежат логины, пароли, группы и произвольные атрибуты, а профиль аутентификации сверяет с ними то, что прислал клиент.
Набор — отдельный объект кластера, а не часть профиля. Один набор закрывает сколько угодно профилей, и учётные записи не копируются в каждый из них.
Когда нужен набор
Набор нужен там, где клиент входит по логину и паролю, которые заведены в системе 5А. Это отдельные служебные учётные записи приложений, тестовые и аварийные доступы, небольшой круг сотрудников.
Набор не нужен там, где клиент приходит уже с подписанным токеном от внешнего поставщика идентификации — Keycloak, Azure AD, Okta. Человек вошёл в чужую систему и повторно не авторизуется: пароли в системе 5А не хранятся, балансировщик проверяет только подпись токена модулями jwt.
Хеши паролей передаются на узлы тех конфигураций, где сервис работает через профиль со ссылкой на этот набор, и записываются в файл секретов на узле. Набор, на который не ссылается ни один профиль, на узлы не передаётся.
Что задаёт набор
- Название и Описание — см. Название и описание.
- Учетные записи — сами логины. В каждой записи задаются Логин, Пароль, Группы и пары «Атрибут → Значение».
Пустой набор сохранить нельзя: система потребует добавить хотя бы одну учётную запись. Логины внутри набора не повторяются, и запись с дублирующим логином не сохранится.
Учётная запись
Все поля, отмеченные
, являются обязательными для заполнения.
- Логин — имя, по которому клиент входит. Уникально в пределах набора.
- Пароль — пароль учётной записи. Текстом в системе 5А он не хранится: в наборе лежит хеш, и обратно пароль восстановить нельзя. Сменить его можно, задав новый. Если поле оставить пустым при правке существующей записи, пароль останется прежним, а не будет удалён.
- Атрибут — имя атрибута учётной записи: почта, табельный номер, должность. Внутри одной записи имена атрибутов не повторяются.
- Значение — значение атрибута. Может быть пустым.
В форме учётной записи поле Пароль закрыто, а в таблице учётных записей его колонка всегда показывает *******.
Смена логина создаёт новую учётную запись. Учётная запись опознаётся по логину, поэтому запись со старым логином исчезает, а с новым появляется вновь — с пустым паролем, если его не задали. Пароль при смене логина обязателен, иначе система потребует его ввести.
Следствие то же: переименование логина отвязывает клиента от групп и атрибутов, заданных прежней записи. Их задают заново.
Значение атрибута само по себе на клиентский сервер не передаётся. Передача задаётся в профиле аутентификации на вкладке Дополнительно — соответствием «имя атрибута → имя заголовка». Заголовок с атрибутом придёт на бэкенд только при полном совпадении обоих имён, поэтому имя атрибута в наборе, в утверждениях токена и в идентификационных заголовках должно совпадать.
Группы
Группы — свободные имена, заданные администратором. По ним привязка профиля решает, кого пускать на сервис: можно открыть доступ всем сотрудникам, а можно только одному отделу.
Списка групп с описаниями в системе нет. Имя группы, указанное прямо в списке, помечается меткой «Новая», пока его не встретили ни в одной учётной записи или в требовании привязки; после этого оно появляется в выпадающих списках везде, где выбирают группу, и метка исчезает.
Отдельного удаления группы в интерфейсе нет. Группа исчезает из выпадающих списков сама, когда её больше нигде не используют: уберите её из всех учётных записей и из поля Разрешенные группы во всех привязках — и имя пропадёт из списков.
Имя группы не длиннее 255 символов, латиница и кириллица равноправны. Пустое имя недопустимо, запятая также запрещена. Группы передаются на бэкенд через запятую в заголовке X-Auth-Groups, поэтому имя группы, содержащее запятую, делает разбор заголовка неоднозначным: строку «Продажи, EMEA» невозможно отличить от двух отдельных групп.
Одна группа может входить в несколько учётных записей — это допустимо, потому что список имён общий для всего кластера. Но внутри одной записи повтор групп невозможен: система потребует убрать его перед сохранением набора.
Как связать набор с профилем
- Откройте Главная → <Кластер> → Аутентификация → Наборы пользователей и нажмите Добавить набор.
- Задайте Название и внесите учётные записи кнопкой Добавить учетную запись.
- Нажмите Сохранить.
Ссылка на набор задаётся в профиле — в модуле local_db блока Проверка. В форме модуля есть ссылки Создать набор и Открыть набор: набор можно создать, не покидая профиль, и сразу посмотреть, сколько в нём учётных записей.
Изменения подхватываются автоматически: профиль ссылается на набор, а не на копию записей. Добавили сотрудника в набор — он сразу может войти на все сервисы, где этот набор выбран. Переименование набора профиля не касается.
Удаление набора
Набор, на который ссылается профиль, удалить нельзя. Сначала необходимо удалить ссылку — замените набор в профиле или удалите сам профиль.
В форме набора есть раздел Используется в профилях: он показывает, какие профили на этот набор ссылаются. Пустой список означает, что набор можно удалять.