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

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

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

Для управления членством пользователей в группах, определения объектов безопасности и назначения прав вы можете использовать пользовательский интерфейс в консоли администрирования и 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/list, передав в него следующие данные:

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