Сервис проверки прав
Инфраструктурный сервис проверки прав предназначен для проверки прав доступа субъекта на объект (обладает ли субъект правами на осуществление определённых действий с объектом), предоставления субъекту прав на действия с объектами, а также для выполнения действий, связанных с безопасностью.
Для управления членством пользователей в группах, определения объектов безопасности и назначения прав вы можете использовать пользовательский интерфейс в консоли администрирования и API сервиса.
API сервиса проверки прав дает возможность любому сервису и компоненту Платформы и продукта проверять наличие прав на доступ к определенному объекту на совершение определенного действия.
Сущности сервиса проверки прав
Пространство имен (Namespace)
Пространство имён (также Namespace): логическое объединение субъектов, объектов и видов прав в одной предметной области. Набор полей Namespace приведен в таблице ниже.
Название поля | Тип поля | Описание |
---|---|---|
Code | String | ID Namespace во внешней системе, задается в предметной области |
Description | String | Название и описание Namespace |
Структура пространства имён в формате JSON
, содержащего набор элементов.
{
"Subject": [],
"Objects": [],
"Rights": [],
"Code":
"Description":
}
Основные элементы пространства имён:
- субъект (Subject): элемент, который может получить право на действие — в роли субъектов могут выступать пользователи, группы пользователей, сервисы и т.д.;
- объект (Object): элемент, над которым может совершаться действие, определяющееся выданным правом — в роли объектов могут выступать сервисы, методы сервисов, элементы пользовательского интерфейса;
- группа субъектов (Subject Group): субъект, который содержит другие субъекты;
- группа объектов (Object Group): объект, который содержит другие объекты;
- тип операции (Right): действия, которые субъекты могут совершать над объектами, например, запуск, отображение, скачивание файла.
Описание полей субъекта
Название поля | Тип поля | Описание |
---|---|---|
Code | String | ID элемента во внешней системе, используется для связки внешнего субъекта с сущностью сервиса |
Namespace | String | Code Namespace, в рамках которого существует элемент |
Description | String | Описание элемента |
Title | String | Краткое описание |
isGroup | Boolean | Признак группы субъектов |
extCode | String | Идентификатор субъекта во внешней системе |
Описание полей объекта
Название поля | Тип поля | Описание |
---|---|---|
Code | String | ID элемента во внешней системе, используется для связки внешнего объекта (SID) с сущностью сервиса |
Namespace | String | Code Namespace, в рамках которого существует элемент |
Description | String | Описание элемента |
Title | String | Название элемента |
isGroup | Boolean | Признак группы объектов |
Описание полей права
Название поля | Тип поля | Описание |
---|---|---|
Code | String | ID элемента во внешней системе, используется для связки типа операции с сущностью сервиса |
Namespace | String | Code Namespace, в рамках которого существует элемент |
Description | String | Описание элемента |
Title | String | Название элемента |
Все пространства имен загружаются в сервис проверки прав доступа сервисами Платформы при старте самостоятельно. Каждое пространство имен содержит список объектов и групп объектов, если требуются, и типы опереций — Right.
Одно пространство имен может быть вложено в другое пространство имен.
Для настройки прав доступа субъекта к объекту используется консоль администрирования или методы API сервиса. Например, воспользуйтесь методом /api/access/Add
, передайте в него следующие данные:
- субъект, которому предоставляется разрешение или запрет;
- объект, на который предоставляется разрешение или запрет;
- тип операции, который предоставляется (обязательно из того же Namespace, что и объект);
- значение: Allowed/Denied.