Управление учетными записями#

Управление пользовательскими учетными записями#

Аутентификация ипользователей выполняется посредством используемой системы аутентификации.

Для получения доступа в UI должно быть выполнено одно из предварительных условий:

  • в сервисе аутентификации, с которым взаимодействует AUTH, созданы роли* DCGN:

    • DCGN_APPLICATION_ADMIN;

    • DCGN_BUSINESS_ADMIN;

    • DCGN_TEMPLATE_CREATOR;

    • DCGN_KVR_ADMIN.

  • в сервисе аутентификации, с которым взаимодействует AUTH, есть нужные роли для AUTZ.

Описание ролей DCGN смотрите в разделе «Принципы разграничения доступа к функциям UI».

Примечание

* В зависимости от внутренних стандартов клиента наименование роли может отличаться от указанной. В документации приведены примеры с учетом указанного именования роли.

Для настройки доступа пользователя к UI DCGN требуется выполнить следующие шаги:

  1. Импортировать ролевую модель 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, подробнее о расположении файлов смотрите в разделе «Состав дистрибутива» документа «Руководство по установке».

  2. Выполнить действия в зависимости от сценариев:

Используются роли DCGN в сервисе аутентификации и группы DCGN в AUTZ#

Данный сценарий используется в случае если:

  • используются роли DCGN в сервисе аутентификации;

  • используются наборы привилегий DCGN с привилегиями DCGN, созданные на шаге импорта;

  • используются группы DCGN, созданные на шаге импорта.

Выполнить следующие действия:

  1. Добавить пользователю в сервисе аутентификации роль DCGN:

    • Если режим получения идентификатора ресурса проекта (тенанта) из AUTZ выключен, то в сервисе аутентификации добавить ресурс проекта и добавить роль или несколько совместимых ролей DCGN в этом ресурсе проекта;

    • Если включен, то в сервисе аутентификации назначить одну или несколько совместимых ролей DCGN (ресурс проекта будет взят из сервиса авторизации);

    • Если аутентификация выполняется через СУДИР, то в СУДИР назначить одну или несколько совместимых ролей DCGN.

  2. Добавить логин пользователя (учетной записи) в условие группы/группп Сервиса авторизации, созданные на шаге импорта, согласно его роли и согласно его ресурсу проекта.

Используются прочие роли в сервисе аутентификации и группы DCGN в AUTZ#

Данный сценарий используется в случае если:

  • используются свои роли в сервисе аутентификации;

  • используются группы DCGN, созданные на шаге импорта;

  • используются наборы привилегий DCGN с привилегиями DCGN, созданные на шаге импорта.

Выполнить следующие действия:

  1. Добавить логин и роль пользователя в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) группы/групп Сервиса авторизации, созданные на шаге 1, согласно его ресурсу проекта;

  2. Добавить роль пользователя в сервисе аутентификации в набор привилегий (поле «Роль»), созданный на шаге импорта, согласно его ресурсу проекта.

Используются прочие роли в сервисе аутентификации и свои группы в AUTZ#

Данный сценарий используется в случае если:

  • используются свои роли в сервисе аутентификации;

  • используются свои группы;

  • используются наборы привилегий DCGN, созданные на шаге импорта.

Выполнить следующие действия:

  1. Добавить логин и роль пользователя* в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) своей/своих группы/групп Сервиса авторизации, согласно его ресурсу проекта, если не было добавлено ранее;

  2. Привязать набор привилегий DCGN, созданный на шаге импорта, к своей/своим группе/группам, согласно ресурсу проекта;

  3. Добавить роль пользователя в сервисе аутентификации в набор привилегий (поле «Роль»), привязанный на шаге 2, согласно его ресурсу проекта, если не было добавлено ранее.

Используются прочие роли в сервисе аутентификации и свои группы и наборы привилегий в AUTZ#

Данный сценарий используется в случае если:

  • используются свои роли в сервисе аутентификации;

  • используются свои группы;

  • используются свои наборы привилегий.

Выполнить следующие действия:

  1. Добавить логин (учетной записи) и роль пользователя* в сервисе аутентификации в условие (базовые: ATTR_USERNAME**, ATTR_USER_ROLES) своей/своих группы/групп Сервиса авторизации, согласно его ресурсу проекта, если не было добавлено ранее;

  2. Добавить привилегии DCGN в свои набор привилегий, согласно ресурсу проекта;

  3. Убедиться, что в набор привилегий добавлена роль из сервиса аутентификации (поле «Роль»);

  4. Убедиться, что набор привилегий привязан к нужной группе.

Примечание.
** Условие ATTR_USERNAME не используется для окружения Platform V Frontend High Load.

Создание ролевой модели для поставки команды#

Если команда несет ролевую модель в своей поставке:

  1. Принести в своей ролевой модели привилегии DCGN.

  2. Определить их к нужным ролям (наборам привилегий).

  3. Добавить роли в группы, куда по условиям будут определяться пользователи.

Пример 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>

Управление техническими учетными записями#

Технические учетные записи заводятся администраторами на этапе подготовки БД, подробнее смотрите раздел «Создание пользователя и схемы БД» документа «Руководство по установке».