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

# Ролевая модель

BAF поддерживает ролевую модель. Роли позволяют ограничивать набор доступных действий для конкретных пользователей в рамках рабочих пространств (workspace).

Привязка ролей к пользователям выполняется на стороне IdP провайдера. Перед настройкой привязки необходимо корректно сопоставить имя роли из BAF с соответствующим атрибутом в данных IdP.

Подробнее о настройке интеграции с IdP можно узнать в разделе интеграция с IdP-провайдером.

примечание

На текущий момент ролевая модель доступна только для пользователей, прошедших аутентификацию через IdP. Все пользователи, зарегистрированные старым способом, автоматически получают роль `WorkspaceOwner` пространства, которая соответствует полному набору привилегий в рамках workspace. Заменить или изменить эту роль у данных пользователей нельзя.

## Типы ролей​

Существует два типа ролей: глобальные и в рамках рабочего пространства.

Глобальные роли предназначены для работы вне контекста рабочих пространств, например, для управления ролями или для выполнения операций во всех workspace (например, чтение данных по аппликантам всех пространств).

Роли в рамках рабочего пространства (Локальные роли) предоставляют права только в пределах конкретного workspace и, по сути, означают, что пользователь имеет доступ к этому рабочему пространству с соответствующими полномочиями.

## Привилегии ролей​

Каждая роль определяет набор доступных действий (привилегий). Сами привилегии сгруппированы по сущностям, к которым они относятся.

На данный момент предусмотрены следующие сущности и привилегии:

#### Сущность «Аппликант» (ApplicantActionEnum):​

- Create – возможность создавать новых аппликантов.
- Read – возможность получать данные аппликантов списком или по конкретной сущности.
- Update – возможность обновлять данные аппликанта.
- Delete – возможность удалить аппликанта.
- Block – возможность заблокировать аппликанта.
- Unblock – возможность разблокировать аппликанта.
- ConfirmRegistration – возможность подтвердить регистрацию аппликанта.
- GetImage – возможность получить фото регистрации аппликанта.
- ManualRegistration – возможность вручную зарегистрировать аппликанта.

#### Сущность «Попытка аппликанта» (AttemptActionEnum):​

- Read – возможность получать данные попыток списком или по конкретной сущности.
- GetImage – возможность получать изображения попытки.
- GetVideo – возможность получать видео попытки.
- GetArchive – возможность получить архив с данными попытки (обратите внимание: архив содержит изображения и видео).
- GetPdf – возможность получить PDF-отчет с данными попытки (обратите внимание: отчет включает изображения).

#### Сущность «Токены доступа» (AccessTokenActionsEnum):​

- Create – возможность создавать токены доступа.
- Read – возможность читать токены доступа.
- Update – возможность обновлять токены доступа, т.е. изменять срок действия.
- Delete – возможность удалять токены доступа.

осторожно

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

#### Сущность «Отчеты» (ReportActionsEnum):​

Под отчетами подразумеваются глобальные данные о работе системы. Отчеты по конкретным попыткам и аппликантам регулируются привилегиями соответствующих сущностей. Спсиок доступных привелегий по отчетам:

- Create – возможность создавать отчеты.
- Read – возможность читать и скачивать отчеты.
- Delete – возможность удалять отчеты.

#### Сущность «Настройки рабочего пространства» (SettingsActionsEnum):​

- Read – возможность читать настройки.
- UpdateAlgorithm – возможность обновлять настройки алгоритмов.
- UpdateApplicantBlocking – возможность обновлять настройки блокировки аппликантов.
- UpdateRegistration – возможность обновлять настройки регистрации аппликантов.
- UpdateRisks – возможность управлять рисками.
- UpdateRetention – возможность обновлять настройки очистки данных.
- StartManualRetention – возможность запускать ручную процедуру очистки данных.

осторожно

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

#### Сущность «Интеграции веб-компоненты» (WebComponentIntegrationActionsEnum):​

- Create – возможность создать интеграцию веб-компонента.
- Read – возможность читать данные интеграций.
- UpdateIntegrationData – возможность обновлять настройки интеграции.
- UpdateAlgorithmSettings – возможность обновлять настройки алгоритмов для интеграции.
- Delete – возможность удалять интеграции.
- ReadAuthSettings – возможность читать настройки аутнетификации компонента (Настройки аутентификации содержат секреты клиента).
- UpdateAuthSettings – возможность обновлять настройки аутентификации компонента.

#### Сущность «Черные списки» (BlackListActionsActionsEnum):​

- Create – возможность добавить аппликанта в черный список.
- Read – возможность читать черные списки.
- Update – возможность обновлять данные черного списка.
- Delete – возможность удалить аппликанта из черного списка.

#### Сущность «Роли» (RoleActionsEnum):​

- Create – возможность создавать роли.
- Read – возможность читать данные ролей.
- Update – возможность обновлять роли.
- Delete – возможность удалять роли.

#### Сущность «Рабочие пространства» (WorkspaceActionsEnum):​

- AccessAll – возможность получить доступ с ролью, обладающей этой привилегией, в любые рабочие пространства.
- Update – возможность обновлять данные рабочего пространства (имя и описание).
- Create – возможность создать новое рабочее пространство.

примечание

Чтобы привилегии на управление ролями и рабочими пространствами действовали, роль, содержащая эти привилегии, должна быть глобальной. Иными словами, она должна быть доступна до этапа выбора рабочего пространства, поскольку сущности «роль» и «рабочее пространство» находятся вне контекста рабочих пространств.

### Объединение ролей​

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

Глобальные роли с привилегией `AccessAll` добавляются в список ролей конкретного рабочего пространства. Например, если у пользователя есть глобальная роль `ReadApplicantsGlobal` и доступ к workspace №1 с ролью `UpdateApplicants`, то в пространстве №1 он будет обладать обеими ролями (`ReadApplicantsGlobal` и `UpdateApplicants`), а во всех остальных пространствах — только `ReadApplicantsGlobal`.

### Стандартные роли​

В системе изначально предусмотрены две неизменяемые роли: SuperAdmin и WorkspaceOwner.

- SuperAdmin позволяет управлять всей системой, в частности — управлять ролями и иметь полный доступ к любому рабочему пространству.
- WorkspaceOwner — роль владельца рабочего пространства. Она автоматически назначается пользователям, созданным внутри BAF. Подробнее о создании таких пользователей можно узнать в разделе "Управление пользователями".