Управление пользователями без контроллера домена
Назначение документа
В инструкции описано управления пользователями при отсутствии контроллера домена. Документ предназначен для использования администраторами организации.
Примечание
Ранее Мессенджер и ВКС назывался Myteam, что находит отражение в технических моментах (например, команды в консоли).
Дополнительная документация
Инструкция по интеграции с контроллером домена по протоколу LDAP — в документе описано управление параметрами синхронизации LDAP.
Инструкция по установке на одну виртуальную машину /Инструкция по установке кластера — в документах описана настройка доступа в окружение администратора в процессе установки Мессенджер и ВКС.
Управление пользователями через CLI-утилиту users.py
Чтобы добавить, удалить или обновить пользователей, минуя контроллер домена, можно использовать специальную CLI-утилиту users.py:
Команды
usage: users.py [-h] [-c CONFIG_FILE] --cmd COMMAND [-m MAX_USERS]
[--users [N [N ...]]]
optional arguments:
-h, --help show this help message and exit
-c CONFIG_FILE Path to users list
--cmd COMMAND Command: add, update, list, delete, search
-m MAX_USERS Max users count for list and search
--users [N [N ...]] user's emails for search
-
Показать список всех пользователей (в том числе и пользователей из контроллера домена):
Количество пользователей, отображаемых командой list, ограничивается параметром-m. По умолчанию выводится 100 пользователей. Вывод большого количества пользователей может занять длительное время, поэтому рекомендуется использовать командуsearch, которая позволяет выдавать список пользователей поиском по подстроке. -
Показать список всех пользователей (в том числе и пользователей из контроллера домена), у которых в адресе почты, фамилии или имени есть требуемая подстрока (в данном примере две подстроки user01 и user02). Количество пользователей ограничивается параметром
-m. -
Добавить пользователей:
Прежде чем отдавать команду на добавление пользователей, необходимо в любой удобной папке создать файл users.yaml и заполнить его данными пользователей (описание формата YAML-файла представлено ниже). -
Обновить пользователей:
-
Удалить пользователей:
или
-
Вывод списка пользователей поиском по подстроке (количество пользователей ограничивается параметром
-m):
Форматы файла users.yaml
При добавлении пользователей по умолчанию ищется файл ./users.yaml (можно изменить параметром -c).
-
Основной формат файла users.yaml (объект users имеет тип Array):
Варианты описания пользователя:users: - 'user1@mail.ru' - 'Surname user2@bk.ru' - 'Name Surname user3@list.ru' - 'Surname Name MiddleName user4@inbox.ru'- lastName email
- firstName lastName email
- lastName firstName middleName email
В базе пользователей нет понятия отчества, поэтому оно не обрабатывается. В варианте email (только адрес почты), lastName (фамилия) и firstName (имя) будут заполнены именем до знака @ в адресе почты.
Пример
-
Расширенный формат файла users.yaml (объект users имеет тип Hash):
При использовании расширенного формата .yaml-файла, username должен совпадать с email. В примере выше это user01@vkteams.example.com.users: user01@vkteams.example.com: email: user01@vkteams.example.com #почта firstName: FirstName01 #имя lastName: LastName01 #фамилия enabled: false #заблокирован ли пользователь attributes: mobile: +000000000 #телефон department: Test Department #отдел title: Job title N1 #должность middleName: MiddleName01 #отчество memberOf: ["VIP1"] #член группы VIP1 user02@vkteams.example.com: email: user02@vkteams.example.com firstName: FirstName02 lastName: LastName02 enabled: false attributes: mobile: +000000001 department: Test Department title: Job title N2 middleName: MiddleName02 memberOf: ["VIP1"]
Примечание
Возможно использование утилиты users.py без использования YAML-файла. Вместо этого можно использовать параметр --users, например:
users.py --cmd delete --users user01@vkteams.example.com user02@vkteams.example.comusers.py --cmd search --users user01@vkteams.example.com user02@vkteams.example.com
Обратите внимание, что при использовании команд add и update пользователи будут созданы без фамилии и имени (lastName, firstName).
Управление пользователями через kccli-утилиту
Ниже представлены команды для управления пользователями при помощи kccli-утилиты:
-
Поиск информации по пользователю с использованием основных атрибутов пользователя:
-
Поиск информации по пользователю только по почте:
-
Добавить пользователя:
При добавлении пользователя из консоли пользователи будут созданы без фамилии, имени и отчества (lastName, firstName и middleName) — они будут назначены автоматически. Добавить пользователя с заданными фамилией, именем и отчеством возможно при помощи YAML-файла (см. описание ниже).
-
Удалить пользователя:
-
Добавить пользователя при помощи YAML-файла:
Предварительно создайте в любой удобной директории файл users.yaml и заполните его данными пользователей.
Расширенный формат файла users.yaml (объект users имеет тип Hash):
users: user01@vkteams.example.com: email: user01@vkteams.example.com #почта firstName: FirstName01 #имя lastName: LastName01 #фамилия enabled: false #заблокирован ли пользователь attributes: mobile: +000000000 #телефон department: Test Department #отдел title: Job title N1 #должность middleName: MiddleName01 #отчество memberOf: ["VIP1"] #член группы VIP1 user02@vkteams.example.com: email: user02@vkteams.example.com firstName: FirstName02 lastName: LastName02 enabled: false attributes: mobile: +000000001 department: Test Department title: Job title N2 middleName: MiddleName02 memberOf: ["VIP1"]После создания users.yaml выполните в консоли команду:
-
Удалить пользователя при помощи YAML-файла:
kccli user delete -f <имя YAML-файла>
Управление пользователями через веб-интерфейс сервиса Keycloak
Инструкции см. в разделе Авторизация в системе.
Необходимо учесть, что веб-интерфейс не поддерживает batch-режим, поэтому каждым пользователем придется управлять отдельно, что неудобно при обработке большого количества пользователей.
Настройка доступа в окружение администратора
Доступ в окружение администратора настраивается при установке системы и описан в документации по установке:
Доступ в окружение администратора проверяется пересечением атрибута memberOf в файле users.yaml с перечнем групп, указанных в секции otp_permission конфигурационного файла инсталляции /usr/local/etc/premsetup/defaults.yaml.
Добавить этот атрибут к существующему пользователю можно при помощи команды --cmd update, с использованием расширенного формата users.yaml.