Автоматическое управление лицензиями
Если в проекте много пользователей, то управлять лицензиями вручную неудобно.
В SaluteJazz можно настроить автоматическое управление лицензиями. Лицензии будут назначены или отнимутся в зависимости от заранее заданных условий, которые зависят от атрибутов пользователей.
Основные настройки
Для того, чтобы настроить автоматическое назначение лицензий нужно:
- Добавить передачу нужных атрибутов:
- в
access_token, если пользователи создаются через SSO или через интеграцию с каталогом пользователей; - в правила синхронизации, если пользователи создаются через Jazz Sync Tool.
- Сообщить в службу поддержки SaluteJazz названия атрибутов, на которые завязывается логика управления лицензиями.
- Передать в службу поддержки SaluteJazz описание логики, в соответствии с которой будет происходить управление лицензиями.
Атрибуты пользователей
Пользователи могут быть созданы различными путями:
- вручную через кабинет администратора SaluteJazz;
- частично через SSO;
- через интеграцию с каталогом пользователей, например, AD (только для OnPrem инсталляций);
- через Jazz Sync Tool (только для Cloud инсталляций).
Если пользователь создается через кабинет администратора SaluteJazz, то у пользователя будет ограниченный набор атрибутов:
- фамилия;
- имя;
- отчество;
- email;
- роль;
- тип — пользователь (user) или переговорная комната (room).
Если пользователь заводится через SSO, синхронизируется из каталога пользователей организации или посредством Jazz Sync Tool, то у такого пользователя могут быть дополнительные атрибуты, в зависимости от соответствующих настроек:
- настройки SSO;
- синхронизация пользователей из каталогов пользователей;
- найстрока Jazz Sync Tool.
Передача групп пользователя
Кроме пользовательских атрибутов у пользователя могут быть еще группы, которые также можно передать в access token и SaluteJazz будет их обрабатывать так же, как и пользовательские атрибуты.
В AD есть несколько способов передать группы в токен. Мы рекомендуем использовать следующий вариант:
- Запустите AD FS Management на сервере AD FS.
- В разделе AD FS > Application Groups выберите нужную группу, щелкнув дважды левой кнопкой мыши (или правая кнопка мыши > Properties).
- В открывшемся окне выберите ADFS из раздела Web API.
- В открывшемся окне выберите правило или нажмите Add Rule (если ранее еще не настраивали передачу пользовательских атрибутов).
- Выберите в левом столбце атрибутов Token-Groups > Unqualified Names.
- Выберите в правом столбце утверждений Group.
- Нажмите Apply и OK.
Пример описания правил
В примерах используется псевдокод для лучшего восприятия. Для описания правил работы с лицензиями вы можете использовать любой понятный вариант записи.
Допустим есть пользователь со следующими атрибутами:
- role (роль): ["speaker"];
- department (отдел): "hr";
- position (должность): "HR Manager";
- group (группа): "SaluteJazz".
Логика применения правил:
- SaluteJazz перед началом применения правил считает, что у пользователя не должно быть никаких лицензий.
- SaluteJazz просматривает все правила сверху вниз. Если правило применимо к пользователю, то SaluteJazz добавляет к текущему состоянию пользователя соответствующую запись или удаляет ее в соответствии с правилами.
- После прохода по всем правилам в текущем состоянии остаются те лицензии, которые должны быть у пользователя.
- Далее SaluteJazz выравнивает реальное состояние пользователя с текущим, которое должно быть:
- Если у пользователя не должно быть каких-то лицензий, но они были назначены ранее в автоматическом режиме, то такие лицензии отнимаются у пользователя.
- Если у пользователя должны быть какие-то лицензии, но ранее автоматически не были назначены, то такая лицен зия назначится пользователю.
Пример
Текущее состояние лицензий пользователя: []
Правило 1. Добавить премиум
IF group == "SaluteJazz", THEN
должна быть лицензия "Премиум" (правило применимо к пользователю → текущее состояние лицензий: ["Премиум"])
Правило 2. Добавить вебинар500
IF department == "hr" AND (position == "head_of_hr" OR role == "speaker"),THEN
должна быть лицензия "Вебинар500" (правило применимо к пользователю → текущее состояние лицензий: ["Премиум", "Вебинар500"])
Правило 3. Добавить вебинар1000
IF department == "hr" AND (position == "head_of_hr" OR role == "speaker"),THEN
должна отсутствовать лицензия "Премиум" (правило НЕ применимо к пользователю → текущее состояние лицензий не меняется: ["Премиум", "Вебинар500"])
Правило 4. Убрать премиум
IF department == "hr" AND (position == "head_of_hr" OR role == "speaker"), THEN
должна отсутствовать лицензия "Премиум" (правило применимо к пользователю → текущее состояние лицензий: ["Вебинар500"])
После применения всех подходящих пользователю правил у пользователя должна быть только лицензия "Вебинар500":
- SaluteJazz проверяет, какие лицензии ранее были назначены пользователю автоматически.
- Если у пользователя есть автоматически назначенные лицензии, которых быть не должно (например, у пользователя ранее не было роли speaker и ему в прошлый раз в соответствии с правилами, назначился премиум), то все такие лицензии отнимаются у пользователя.
- После отнятия всех лишних лицензий SaluteJazz назначает требуемые лицензии пользователю, таким образом выравнивая реальное состояние пользователя с требуемым правилами
Допустимые правила сравнения
| Оператор | Описание | Применение к скалярным полям | Применение к массивам |
|---|