5.1. Руководство по настройке пользователей¶
5.1.1. Общие положения¶
Информация о пользователях системы хранится во встроенном LDAP. Управление пользователями может осуществляться как инструментами LDAP, так и встроенными в систему инструментами. При необходимости, в рамках проекта, может быть настроена синхронизация пользователей системы с корпоративным справочником.
5.1.2. Управление пользователями через командную строку¶
5.1.2.1. Общие положения¶
Скрипт предназначен для управления пользователями администратором системы из командной строки
5.1.2.2. Положение скрипта на сервере¶
Скрипт расположен по адресу: /home/sgate/scripts/tautoki_users.sh
5.1.2.3. Параметры использования скрипта¶
:
Usage: ./tautoki_users.sh {create-user|delete-user|set-password|add-roles|remove-roles|get-user} [OPTIONS]
./tautoki_users.sh [-h|--help]
-h, --help prints this help
-u, --url backend url (e.g. https://example.com:8080) (required)
-n, --login backend login (required)
-w, --password backend password (required)
-l, --user-login user login (required)
-p, --user-password user password
-d, --department comma-separated user department hierarchy (e.g. dep1,dep2)
-t, --description user description
-f, --firstName user first name
-s, --lastName user last name
-e, --email comma-separated user emails
-m, --mobile comma-separated user mobile phones
-r, --roles comma-separated user roles
- –login - имя суперпользователя
- –password - пароль суперпользователя
5.1.2.4. Примеры использования скрипта¶
5.1.2.4.1. Добавление пользователей¶
:
./tautoki_users.sh create-user -u https://example.com:8081 -n login -w password \
-l username -p userpasswd -d "Department 1,Subdepartment 1" -t "User description" -\
f John -s Doe -e "jdoe@exaple.com,jdoe2@example.com" -m "79101234567" -r "user,operator"
./tautoki_users.sh create-user -u https://example.com:8081 -n login -w password \
-l username -p userpasswd -d "Department 1" -r user
./tautoki_users.sh create-user -u https://example.com:8081 -n login \
-l username -p userpasswd -d "Department 1" -r user
./tautoki_users.sh create-user -u https://example.com:8081 -n login \
-l username -p userpasswd -r user
5.1.2.4.2. Удаление пользователей¶
:
./tautoki_users.sh delete-user -u https://example.com:8081 -n login -w password -l username
./tautoki_users.sh delete-user -u https://example.com:8081 -n login -l username
5.1.2.4.3. Изменение пароля пользователя¶
- : ::
./tautoki_users.sh set-password -u https://example.com:8081 -n login -w password -l username -p new_passwd
./tautoki_users.sh set-password -u https://example.com:8081 -n login -l username -p new_passwd
5.1.2.4.4. Добавление роли пользователя¶
:
./tautoki_users.sh add-roles -u https://example.com:8081 -n login -w password \
-l username -r "operator,manager"
./tautoki_users.sh add-roles -u https://example.com:8081 -n login \
-l username -r "operator,manager"
5.1.2.4.5. Удаление роли пользователя¶
:
./tautoki_users.sh remove-roles -u https://example.com:8081 -n login -w password -l username\
-r "operator,manager"
./tautoki_users.sh remove-roles -u https://example.com:8081 -n login -l username \
-r "operator,manager"
5.1.2.4.6. Получение информации о пользователе¶
:
./tautoki_users.sh get-user -u https://example.com:8081 -n login -w password -l username
./tautoki_users.sh get-user -u https://example.com:8081 -n login -l username
5.1.3. Управление пользователями через REST API¶
Для автоматизации управления пользователями создан REST API, позволяющий управлять пользователями:
- POST /admin/users/create
- POST /admin/users/update
- POST /admin/users/delete
- POST /admin/users/get
- POST /admin/users/list
В REST запросах имя-пароль суперпользователя указываются в заголовке Autorization : Authorization: Basic ***********
Формат данных пользователя:
{
"login": "user_login",
"password": "user_password",
"department": [
"dep1", "dep2", "dep3"
],
"description": "user description",
"firstName": "John",
"lastName": "Doe",
"email": [
"jdoe@example.com"
],
"mobile": [
"71233456789"
],
"roles": [
"user"
]
}
Минимальный формат:
{
"login": "user_login",
"password": "user_password",
"department": [
"dep1", "dep2", "dep3"
]
}
Все поля, кроме login, password необязательные.
department задает иерархию ou (organizationalUnit) пользователя в ldap. Должен соответствовать тем ou, которые уже есть в ldap. Новые ou автоматически не создаются.
Роли создаются автоматически по необходимости.
Для get и delete в теле запроса должен быть передан логин:
{
"login": "user_login",
}
Примечание
Фильтры объединяются по условию И.
Списки в фильтрах (кроме department) объединяются по ИЛИ. Пустой список означает отсутствие значения.
Список в department задает строгое соответствие иерархии ou.
Пустой список ролей позволяет выбрать пользователей без ролей.
Запрос с пустым json выдаст всех пользователей.