Перейти к основному содержимому

Управление правами пользователей

Обзор

Система управления пользовательским доступом предназначена для детального контроля над тем, кто и к каким ресурсам приложения имеет доступ. В системе используется модель управления доступом на основе ролей (RBAC), где пользователи назначаются в группы, а права доступа предоставляются этим группам. Это обеспечивает эффективное и безопасное управление доступом.

Управление группами

Создание новой группы

  1. Переход в раздел групп:
    • Откройте вкладку Groups.
  2. Добавление группы:
    • Нажмите кнопку Create Group.
    • Укажите описательное название и маркер.
    • Назначьте начальные права доступа.
warning

В новом проекте всегда создается группа Guest по-умолчанию.

Наследование прав доступа

Во вкладке "Группы" представлены ранее созданные группы в иерархическом виде, вновь созданную группу можно подключить к уже созданной группе, чтобы она наследовала права от родительской группы.

warning

Если в родительской группе есть ограничение в пути, и в дочерней группе то же самое ограничение перезаписывается, то конечным будет ограничение дочерней группы, но только в случае, если у родительской не указана опция "Финальное разрешение".

Единственная группа в цепочке

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

Изменение прав доступа

Вкладка "Permissions" является ключевой для редактирования прав доступа.

Группировка прав

Если ранее Вы указали родительскую группу для наследования прав, вся информация об установленных доступах будет размещена в таблице сверху, редактирование наследуемых прав запрещено. Права, включающие в себя исключения, и неиспользуемые права, группируются отдельно в той же таблице.

Управление правами доступа

Создание и редактирование прав доступа

Чтобы приступить к созданию права, нажмите кнопку "Создать право" во вкладке "Permissions"

Право доступа состоит из комбинации метода и пути.

remove
  1. Создать минимальный набор разрешений:
    • Эта опция позволяет минимизировать задачу создания прав, сгенерировав минимально необходимый набор разрешений.

::: Доступна, только если нет никаких ранее установленных разрешений :::

  1. Установить ограничения на выдачу данных:
    • Опция применима только, когда выбрано "Создать минимальный набор разрешений", устанавливает ограничение на выдачу данных (10 записей)
  2. API секция:
    • Обязательный параметр, если создавать новый доступ, указывает маршрут для выбора разрешений.
  3. Путь:
    • Выбор доступен только после выбора секции API, уточняет маршрут для установки прав.
  4. Имя:
    • Обязательное поле для названия права.
  5. Таблица "Permissions":
    • Таблица представляет из себя выбор из HTTP методов для указанного пути, с указанием опций "без ограничений" и "с ограничением количества записей".

:::Всегда 4 метода Для любого пути в таблице всегда указаны 4 метода: GET, POST, PUT, DELETE :::

  1. Дополнительные условия Эти условия появляются не для всех путей, а только для "списочных" и позволяют настроить исключения на получаемые документы.

    • Если, например, нужно предоставить разрешение для всех страниц, но сделать исключение, вы можете нажать кнопку "Выберите, какие данные Вы хотите исключить". В открывшемся дополнительном окне можно выбрать данные, к которым нужно ограничить доступ.

    Рассмотрим несколько примеров установки ограничений для реализации задачи: Нужно ограничить разрешение группе "Гость" к странице "Личный аккаунт" и к атрибутам "Цена" и "Персональная скидка".

    remove

    Пример 1 - Ограничение доступа группы Гость к определенным страницам.

    Для реализации необходимо открыть в режиме редактирования группу "Гость". Далее, открыть вкладку "Разрешения" и в таблице созданных разрешений найти "Извлечение всех объектов страницы, содержащих информацию о продукте, в виде массива".

    warning

    В группе "Гость" по-умолчанию существует данный доступ, если в Вашей группе его нет, нужно создать новый доступ. Для этого нажать кнопку "Создать доступ", в модальном окне выбрать следующие параметры: API секция - pages Path - "Извлечение всех объектов страницы, содержащих информацию о продукте, в виде массива"

    Далее указываем "Без ограничений" И открываем список страниц, которые мы хотим ограничить, для этого нужно нажать кнопку "Выберите, какие данные вам нужны". Указываем ограничение для страницы "Личный аккаунт".

    example1_1

    Не забываем, после выбора страниц, указать опцию "Исключить" и "Финальное разрешение" при необходимости, если права могут наследоваться.

    Вот как должна выглядеть вся настройка:

    example1

    На этом настройка доступа завершена, после кнопки "Сохранить", все пользователи без авторизации вместо четырех страниц будут получать только 3.

    Пример 2 - Ограничение доступа группы Гость к определенным атрибутам.

    Для реализации необходимо открыть в режиме редактирования группу "Гость". Далее, открыть вкладку "Разрешения" и в таблице созданных разрешений найти "Извлечение всех атрибутов с данными из набора атрибутов".

    warning

    В группе "Гость" по-умолчанию существует данный доступ, если в Вашей группе его нет, нужно создать новый доступ. Для этого нажать кнопку "Создать доступ", в модальном окне выбрать следующие параметры: API секция - attributes-sets Path - "Извлечение всех атрибутов с данными из набора атрибутов"

    Далее указываем "Без ограничений" И открываем список страниц, которые мы хотим ограничить, для этого нужно нажать кнопку "Выберите, какие данные вам нужны". Указываем ограничение для атрибутов "Цена" и "Личная скидка".

    warning

    Здесь виден список всех созданных атрибутов из всех наборов атрибутов.

    example2

    Не забываем, после выбора страниц, указать опцию "Исключить" и "Финальное разрешение" при необходимости, если права могут наследоваться.

    Вот как должна выглядеть вся настройка:

    example2

    На этом настройка доступа завершена, после кнопки "Сохранить", все пользователи без авторизации при запросе информации о товаре, будут получать ограниченную информацию.

    Пример 3 - Ограничение доступа группы Гость к блоку.

    Для реализации необходимо открыть в режиме редактирования группу "Гость". Далее, открыть вкладку "Разрешения" и в таблице созданных разрешений найти "Извлечение всех блочных объектов".

    warning

    В группе "Гость" по-умолчанию существует данный доступ, если в Вашей группе его нет, нужно создать новый доступ. Для этого нажать кнопку "Создать доступ", в модальном окне выбрать следующие параметры: API секция - blocks Path - "Извлечение всех блочных объектов"

    Далее указываем "Без ограничений" И открываем список блоков, которые мы хотим ограничить, для этого нужно нажать кнопку "Выберите, какие данные вам нужны".

    warning

    Здесь виден список всех созданных блоков из всех блочных групп.

    example3

    Не забываем, после выбора блока, указать опцию "Исключить" и "Финальное разрешение" при необходимости, если права могут наследоваться.

    Вот как должна выглядеть вся настройка:

    example3

    На этом настройка доступа к блокам завершена.

    – Извлечение всех объектов пользователей – администраторов. – Извлечение всех объектов из наборов атрибутов. – Извлечение всех атрибутов с данными из набора атрибутов. – Извлечение всех объектов страницы, содержащих информацию о товаре в виде массива. – Извлечение всех объектов блоков. – Извлечение всех объектов форм. – Возврат всех подписок на товары. – Извлечение всех объектов из репозитория заказов. – Поиск всех объектов со статусом товара. – Извлечение всех объектов шаблонов с фильтрацией по типам. – Извлечение всех объектов предпросмотра шаблонов. – Получение всех коллекций.

    После выбора данных для исключения, появятся две новые опции: "Исключить" - опция указывает на то, что выбранные данные мы хотим исключить. "Конечное право" - это право не наследуется во всей дочерней цепочке групп (опция становится доступна только, если выбрана опция "Исключить").

warning

Выбор дополнительных условий зависит от выбранного пути и не всегда доступен. При наличии такого выбора, отмечается маркером - "Exceptions available for selection"

exceptions_marker

По-умолчанию новые права попадают в раздел "Неиспользуемые права", для активации, достаточно выбрать, нажав на чекбокс слева от названия.

Для открытия редактора, используется кнопка edit

Для удаления используйте remove

Понимание прав доступа

Права доступа — это детальные настройки, определяющие, какие действия группа может выполнять с определенными ресурсами. Они организованы по разделам API и могут быть дополнительно уточнены с помощью условий.

Поиск прав в таблице

Поиск нужных прав в таблице осуществляется путем ввода текста в поле "Поиск прав", выбор нужных секций API в селекторе и выбор опции "Выбрать неиспользуемые".

Итоговые права

Вкладка итоговых прав является информативной таблицей с фильтрацией по секциям API для упрощения поиска.

Как подключить пользователя в группу