Управление учетными записями#
Управление пользовательскими учетными записями#
Аутентификация ипользователей выполняется посредством используемой системы аутентификации.
Для получения доступа в UI должно быть выполнено одно из предварительных условий:
в сервисе аутентификации, с которым взаимодействует AUTH, созданы роли* DCGN:
DCGN_APPLICATION_ADMIN;
DCGN_BUSINESS_ADMIN;
DCGN_TEMPLATE_CREATOR;
DCGN_KVR_ADMIN.
в сервисе аутентификации, с которым взаимодействует AUTH, есть нужные роли для AUTZ.
Описание ролей DCGN смотрите в разделе «Принципы разграничения доступа к функциям UI».
Примечание
*В зависимости от внутренних стандартов клиента наименование роли может отличаться от указанной. В документации приведены примеры с учетом указанного именования роли.
Для настройки доступа пользователя к UI DCGN требуется выполнить следующие шаги:
Импортировать ролевую модель DCGN и справочники из дистрибутива DCGN в AUTZ, в требуемый ресурс проекта:
В платформенный ресурс проекта ролевая модель DCGN и справочники импортируется при установке DCGN, подробнее читайте в разделе «Настройка интеграции с компонентом Объединенный сервис авторизации (ОСА)» документа «Руководство по установке».
После установки DCGN в Сервисе авторизации в платформенном ресурсе проекта должны создаться:группы DCGN:
DCGN_application_admin_group_«resourceName потребителя»;
DCGN_business_admin_group_«resourceName потребителя»;
DCGN_template_creator_group_«resourceName потребителя»;
DCGN_kvr_admin_group_«resourceName потребителя».
наборы привилегий:
DCGN_APPLICATION_ADMIN_«resourceName потребителя»;
DCGN_BUSINESS_ADMIN_«resourceName потребителя»;
DCGN_TEMPLATE_CREATOR_«resourceName потребителя»;
DCGN_KVR_ADMIN_«resourceName потребителя».
привилегии DCGN (согласно ролевой модели);
роли в справочнике ролей.
В ресурс проекта потребителя импорт ролевой модели DCGN выполняется согласно инструкции, описанной в руководстве продукта Platform V DevOps Tools (DOT).
После импорта ролевой модели DCGN в Сервисе авторизации в указанном при импорте ресурсе проекта должны создаться:группы DCGN:
DCGN_application_admin_group_«resourceName потребителя»;
DCGN_business_admin_group_«resourceName потребителя»;
DCGN_template_creator_group_«resourceName потребителя»;
DCGN_kvr_admin_group_«resourceName потребителя».
наборы привилегий:
DCGN_APPLICATION_ADMIN_«resourceName потребителя»;
DCGN_BUSINESS_ADMIN_«resourceName потребителя»;
DCGN_TEMPLATE_CREATOR_«resourceName потребителя»;
DCGN_KVR_ADMIN_«resourceName потребителя».
привилегии DCGN (согласно ролевой модели).
Подробнее о работе с Сервисом авторизации смотрите в документации компонента AUTZ.
Примечание
Ролевая модель DCGN и справочники (файлы
security/authorization-resources.xmlиsecurity_dictionaries/dictionaries.xml) находятся в дистрибутиве DCGN, подробнее о расположении файлов смотрите в разделе «Состав дистрибутива» документа «Руководство по установке».Выполнить действия в зависимости от сценариев:
Используются роли DCGN в сервисе аутентификации и группы DCGN в AUTZ#
Данный сценарий используется в случае если:
используются роли DCGN в сервисе аутентификации;
используются наборы привилегий DCGN с привилегиями DCGN, созданные на шаге импорта;
используются группы DCGN, созданные на шаге импорта.
Выполнить следующие действия:
Добавить пользователю в сервисе аутентификации роль DCGN:
Если режим получения идентификатора ресурса проекта (тенанта) из AUTZ выключен, то в сервисе аутентификации добавить ресурс проекта и добавить роль или несколько совместимых ролей DCGN в этом ресурсе проекта;
Если включен, то в сервисе аутентификации назначить одну или несколько совместимых ролей DCGN (ресурс проекта будет взят из сервиса авторизации);
Если аутентификация выполняется через СУДИР, то в СУДИР назначить одну или несколько совместимых ролей DCGN.
Добавить логин пользователя (учетной записи) в условие группы/группп Сервиса авторизации, созданные на шаге импорта, согласно его роли и согласно его ресурсу проекта.
Используются прочие роли в сервисе аутентификации и группы DCGN в AUTZ#
Данный сценарий используется в случае если:
используются свои роли в сервисе аутентификации;
используются группы DCGN, созданные на шаге импорта;
используются наборы привилегий DCGN с привилегиями DCGN, созданные на шаге импорта.
Выполнить следующие действия:
Добавить логин и роль пользователя в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) группы/групп Сервиса авторизации, созданные на шаге 1, согласно его ресурсу проекта;
Добавить роль пользователя в сервисе аутентификации в набор привилегий (поле «Роль»), созданный на шаге импорта, согласно его ресурсу проекта.
Используются прочие роли в сервисе аутентификации и свои группы в AUTZ#
Данный сценарий используется в случае если:
используются свои роли в сервисе аутентификации;
используются свои группы;
используются наборы привилегий DCGN, созданные на шаге импорта.
Выполнить следующие действия:
Добавить логин и роль пользователя* в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) своей/своих группы/групп Сервиса авторизации, согласно его ресурсу проекта, если не было добавлено ранее;
Привязать набор привилегий DCGN, созданный на шаге импорта, к своей/своим группе/группам, согласно ресурсу проекта;
Добавить роль пользователя в сервисе аутентификации в набор привилегий (поле «Роль»), привязанный на шаге 2, согласно его ресурсу проекта, если не было добавлено ранее.
Используются прочие роли в сервисе аутентификации и свои группы и наборы привилегий в AUTZ#
Данный сценарий используется в случае если:
используются свои роли в сервисе аутентификации;
используются свои группы;
используются свои наборы привилегий.
Выполнить следующие действия:
Добавить логин (учетной записи) и роль пользователя* в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) своей/своих группы/групп Сервиса авторизации, согласно его ресурсу проекта, если не было добавлено ранее;
Добавить привилегии DCGN в свои набор привилегий, согласно ресурсу проекта;
Убедиться, что в набор привилегий добавлена роль из сервиса аутентификации (поле «Роль»);
Убедиться, что набор привилегий привязан к нужной группе.
Примечание.
** Условие ATTR_USERNAME не используется для окружения Platform V Frontend High Load.
Создание ролевой модели для поставки команды#
Если команда несет ролевую модель в своей поставке:
Принести в своей ролевой модели привилегии DCGN.
Определить их к нужным ролям (наборам привилегий).
Добавить роли в группы, куда по условиям будут определяться пользователи.
Пример XML файла ролевой модели (содержит лишь часть событий для примера) с описанием необходимых блоков:
<?xml version="1.0" encoding="UTF-8" ?>
<task>
<resource code="DCGN" name="Управление шаблонами документов " subsystem="DCGN"> <!-- В данном блоке задан ресурс DCGN и набор его привилегий -->
<resource code="DCGN.Template" name="Управление реестром шаблонов" subsystem="DCGN">
<action code="DCGN.Template.read" name="Просмотр шаблонов" category="ADMIN"/>
<action code="DCGN.Template.export" name="Экспорт шаблонов" category="ADMIN"/>
<action code="DCGN.Template.import" name="Импорт шаблона" category="ADMIN"/>
</resource>
</resource>
<role code="Название_набора_привилегий_${tenant_code}" name="Название набора привилегий ${tenant_code}" category="ADMIN" subsystem="DCGN"> <!-- Набор привилегий - это роль. Указывается существующий (в таком случае он перезапишется) или задается новый. В одной роли можно иметь привилегии разных ресурсов -->
<needRoleSUDIR name="Роль СУДИР"/> <!-- Указывается роль СУДИР, которая будет привязываться к набору. Если требуется привязывать несколько ролей СУДИР, то дублировать тег <needRoleSUDIR name=""/> -->
<permission>
<action-ref code="Привилегия"/> <!-- Указывается привилегия ресурса -->
<channel-ref code="Необходимый канал"/> <!-- Указывается необходимый канал (channel) для этой привилегии -->
</permission>
<permission>
<action-ref code="Привилегия"/>
<channel-ref code="Необходимый канал"/>
</permission>
</role>
<group code="Название_группы_${tenant_code}" name="Название группы ${tenant_code}" category_code="ADMIN" enabled="true" subsystem="DCGN"> <!-- Группа - объединение набора привилегий, к которой привязывается пользователь. Указывается существующая (в таком случае она перезапишется) или задается новая -->
<groupCondition attr_name="ATTR_USER_ROLES" operation="IN" attr_value="Роль СУДИР" section_name="VIRTUAL"/> <!-- Указывается список (через запятую) ролей СУДИР, которые должны входить в группу для получения ролей (наборов привилегий) -->
<groupCondition attr_name="ATTR_USERNAME" operation="IN" attr_value="" section_name="VIRTUAL"/> <!-- Указывается список (через запятую) имен СУДИР, которые должны входить в группу для получения ролей (наборов привилегий). Опциональное доп. условие, при необходимости (работает по условию "И"). Не используется для окружения Platform V Frontend High Load -->
<role-ref role_code="Название_набора_привилегий_${tenant_code}"/> <!-- Указывается код набора привилегий (роль) из блока role выше, который должен входить в группу. Если требуется несколько наборов, то дублировать тег <role-ref role_code=""/> -->
</group>
</task>
Управление техническими учетными записями#
Технические учетные записи заводятся администраторами на этапе подготовки БД, подробнее смотрите раздел «Создание пользователя и схемы БД» документа «Руководство по установке».