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

Сервис проверки прав

Инфраструктурный сервис проверки прав предназначен для проверки прав доступа субъекта на объект (обладает ли субъект правами на осуществление определённых действий с объектом), предоставления субъекту прав на действия с объектами, а также для выполнения действий, связанных с безопасностью.

Для управления членством пользователей в группах, определения объектов безопасности и назначения прав вы можете использовать пользовательский интерфейс в консоли администрирования и API сервиса.

API сервиса проверки прав дает возможность любому сервису и компоненту Платформы и продукта проверять наличие прав на доступ к определенному объекту на совершение определенного действия.

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

Пространство имен (Namespace)

Пространство имён (также Namespace): логическое объединение субъектов, объектов и видов прав в одной предметной области. Набор полей Namespace приведен в таблице ниже.

Название поляТип поляОписание
CodeStringID Namespace во внешней системе, задается в предметной области
DescriptionStringНазвание и описание Namespace

Структура пространства имён в формате JSON, содержащего набор элементов.

{
"Subject": [],
"Objects": [],
"Rights": [],
"Code":
"Description":
}

Основные элементы пространства имён:

  • субъект (Subject): элемент, который может получить право на действие — в роли субъектов могут выступать пользователи, группы пользователей, сервисы и т.д.;
  • объект (Object): элемент, над которым может совершаться действие, определяющееся выданным правом — в роли объектов могут выступать сервисы, методы сервисов, элементы пользовательского интерфейса;
  • группа субъектов (Subject Group): субъект, который содержит другие субъекты;
  • группа объектов (Object Group): объект, который содержит другие объекты;
  • тип операции (Right): действия, которые субъекты могут совершать над объектами, например, запуск, отображение, скачивание файла.

Описание полей субъекта

Название поляТип поляОписание
CodeStringID элемента во внешней системе, используется для связки внешнего субъекта с сущностью сервиса
NamespaceStringCode Namespace, в рамках которого существует элемент
DescriptionStringОписание элемента
TitleStringКраткое описание
isGroupBooleanПризнак группы субъектов
extCodeStringИдентификатор субъекта во внешней системе

Описание полей объекта

Название поляТип поляОписание
CodeStringID элемента во внешней системе, используется для связки внешнего объекта (SID) с сущностью сервиса
NamespaceStringCode Namespace, в рамках которого существует элемент
DescriptionStringОписание элемента
TitleStringНазвание элемента
isGroupBooleanПризнак группы объектов

Описание полей права

Название поляТип поляОписание
CodeStringID элемента во внешней системе, используется для связки типа операции с сущностью сервиса
NamespaceStringCode Namespace, в рамках которого существует элемент
DescriptionStringОписание элемента
TitleStringНазвание элемента

Все пространства имен загружаются в сервис проверки прав доступа сервисами Платформы при старте самостоятельно. Каждое пространство имен содержит список объектов и групп объектов, если требуются, и типы опереций — Right.

к сведению

Одно пространство имен может быть вложено в другое пространство имен.

Для настройки прав доступа субъекта к объекту используется консоль администрирования или методы API сервиса. Например, воспользуйтесь методом /api/access/Add, передайте в него следующие данные:

  • субъект, которому предоставляется разрешение или запрет;
  • объект, на который предоставляется разрешение или запрет;
  • тип операции, который предоставляется (обязательно из того же Namespace, что и объект);
  • значение: Allowed/Denied.