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 выдаст всех пользователей.