Настройка доступов к сервисам Blitz Identity Provider#
Blitz Identity Provider позволяет создавать и конфигурировать настраиваемые разрешения (scope
) для доступа к сервисам Blitz Identity Provider.
В таблице ниже приведен список сервисов Blitz Identity Provider, системные имена сервисов и разрешения (scope
) по умолчанию.
Административные REST API
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Получение информации о приложении |
GET /blitz/admin/api/v3/app/{appId} |
admin.app.get |
blitz_api_sys_app |
Создание нового приложения |
PUT /blitz/admin/api/v3/app/{appId} |
admin.app.create |
blitz_api_sys_app_chg |
Изменение параметров приложения |
POST /blitz/admin/api/v3/app/{appId} |
admin.app.change |
blitz_api_sys_app_chg |
Удаление приложения |
DELETE /blitz/admin/api/v3/app/{appId} |
admin.app.delete |
blitz_api_sys_app_chg |
Регистрация REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Регистрация пользователя |
PUT /sps/reg/api/v3/users |
reg.put |
blitz_api_sys_users_reg |
Регистрация пользователя (подтверждение контактов) |
POST /sps/reg/api/v3/users/:context |
reg.advance |
blitz_api_sys_users_reg |
Аутентификация по QR-коду REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Показать QR-код для аутентификации по QR-коду |
GET /sps/api/v3/auth/qr/:code |
auth.qrcode.get |
blitz_qr_auth |
Подтвердить аутентификацию по QR-коду |
POST /sps/api/v3/auth/qr/:code/refuse |
auth.qrcode.refuse |
blitz_qr_auth |
Отклонить аутентификацию по QR-коду |
POST /sps/api/v3/auth/qr/:code/confirm |
auth.qrcode.confirm |
blitz_qr_auth |
Работа с правами доступа REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Получить права субъекта |
GET /sps/api/v3/rights/of/:id GET /sps/api/v3/rights/of/:typ/:id |
rights.sbj.get |
blitz_user_rights, blitz_rights_full_access |
Получить права на объект |
GET /sps/api/v3/rights/on/:id GET /sps/api/v3/rights/on/:typ/:id |
rights.obj.get |
blitz_rights_full_access |
Изменить права |
POST /sps/api/v3/rights |
rights.change |
blitz_user_rights, blitz_rights_full_access |
Назначить права |
PUT /sps/api/v3/rights |
rights.grant |
blitz_user_rights, blitz_rights_full_access |
Отозвать права |
DELETE /sps/api/v3/rights |
rights.revoke |
blitz_user_rights, blitz_rights_full_access |
Работа с пользователями REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Выполнение системных команд в контексте пользователя |
POST /blitz/api/v3/users/notes/:action/:state |
users.docommand |
blitz_api_user_chg, blitz_api_sys_users_chg |
Получение данных пользователя |
GET /sps/api/v3/users/:subjectId |
users.attrs.get |
blitz_api_user, blitz_api_sys_users |
Изменение атрибутов пользователя |
POST /sps/api/v3/users/:instanceId |
users.attrs.change |
blitz_api_user_chg, blitz_api_sys_users_chg |
Смена пароля |
POST /sps/api/v3/users/:instanceId/pswd |
users.pswd.change |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Сброс сессий |
POST /sps/api/v3/users/:subjectId/sessions/reset |
users.sessions.reset |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Изменение аутентификационной информации |
POST /sps/api/v3/users/:subjectId/auth |
users.auth.change |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Изменение свойств пользователя |
GET /sps/api/v3/users/:subjectId/props |
users.props.get |
blitz_api_user, blitz_api_sys_users |
Изменение признака блокировки |
POST /sps/api/v3/users/:subjectId/props |
users.props.change |
blitz_api_user_chg, blitz_api_sys_users_chg |
Изменение состояния блокировки пользователя |
POST /blitz/api/v3/users/:subjectId/state |
users.lockState.change |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Получение контрольного вопроса |
GET /sps/api/v3/users/:subjectId/secQsn |
users.SecQuestion.get |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Изменение контрольного вопроса/ответа |
POST /sps/api/v3/users/:subjectId/secQsn |
users.SecQuestion.change |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Удаление контрольного вопроса |
DELETE /sps/api/v3/users/:subjectId/secQsn |
users.SecQuestion.delete |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Проверка контрольного вопроса |
POST /sps/api/v3/users/:subjectId/secQsn/check |
users.SecQuestion.check |
blitz_api_usec, blitz_api_sys_usec |
Работа с приложениями пользователя REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Посмотреть устройства входа |
GET /sps/api/v3/users/:subjectId/uas |
users.userAgents.get |
blitz_api_uapps, blitz_api_sys_uapps |
Удалить устройство входа |
DELETE /sps/api/v3/users/:subjectId/uas/:uaId |
users.userAgents.delete |
blitz_api_uapps_chg, blitz_api_sys_uapps_chg |
Посмотреть мобильные устройства пользователя |
GET /sps/api/v3/users/:subjectId/apps |
users.apps.get |
blitz_api_uapps, blitz_api_sys_uapps |
Удалить устройство пользователя |
DELETE /sps/api/v3/users/:subjectId/apps/:id |
users.apps.delete |
blitz_api_uapps_chg, blitz_api_sys_uapps_chg |
Работа со списками разрешений, выданных пользователем и аудит REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Посмотреть разрешения пользователя |
GET /sps/api/v3/users/:subjectId/acls |
users.acls.get |
blitz_api_usec, blitz_api_sys_usec |
Удалить разрешение пользователя |
DELETE /sps/api/v3/users/:subjectId/acls/:id |
users.acls.delete |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Посмотреть события пользователя |
GET /sps/api/v3/users/:subjectId/audit |
users.audit.get |
blitz_api_uaud, blitz_api_sys_uaud |
Пользовательские привязки TOTP REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Посмотреть привязки TOTP-генераторов |
GET /sps/api/v3/users/:subjectId/totps |
users.totp.get |
blitz_api_usec, blitz_api_sys_usec |
Показать QR-код для привязки TOTP-генератора |
GET /sps/api/v3/users/:subjectId/totps/attach/qr |
users.totp.qrGen |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Привязать TOTP-генератор |
POST /sps/api/v3/users/:subjectId/totps/attach/qr |
users.totp.attach |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Отвязать TOTP-генератор |
DELETE /sps/api/v3/users/:subjectId/totps/:totpId |
users.totp.detach |
blitz_api_usec_chg, blitz_api_sys_usec_chg |
Пользовательские привязки внешних поставщиков REST API V3
Сервис |
Путь к сервису |
Системное имя |
Разрешения |
---|---|---|---|
Посмотреть привязки внешних поставщиков |
GET /sps/api/v3/users/:subjectId/fa |
users.fed.get |
blitz_api_ufa, blitz_api_sys_ufa |
Привязать внешний поставщик |
POST /sps/api/v3/users/:subjectId/fa/:typ/:name/:sid |
users.fed.bind |
blitz_api_ufa_chg, blitz_api_sys_ufa_chg |
Отвязать внешний поставщик |
DELETE /sps/api/v3/users/:subjectId/fa/:typ/:name/:sid |
users.fed.unbind |
blitz_api_ufa_chg, blitz_api_sys_ufa_chg |
Получить маркер доступа внешнего поставщика |
GET /sps/api/v3/users/:subjectId/fedToken/:typ/:name |
users.fedToken.get |
fed_tkn_any |
- Чтобы завести новое разрешение для одного из указанных сервисов, необходимо добавить в конфигурационный файл новый блок
blitz.prod.local.idp.rest
. В него добавить следующие параметры: defaultEnabled
– принимает значение true, если нужно, чтобы разрешения по умолчанию продолжали работать;points
– перечень сервисов (используется системное имя из таблицы выше), для которых необходимо предусмотреть новые разрешения.
- Настройка разрешений для каждого сервиса определяется следующими параметрами:
enabled
– признак необходимости включить настройку (true/false);access
– блок из следующих настроек:methods
– методы авторизации к сервису:oauth
(авторизация по маркеру доступа) иbasic
(Basic-авторизация);filter
– способы фильтрации атрибутов:disabled
(возвращаются все атрибуты),strict
(атрибуты возвращаются при условии, что все возвращаемые атрибуты разрешены системе) иflexible
(возвращаются только те атрибуты, приписанные данному разрешению);scopes
– список разрешений для данного сервиса;oauth
– перечень приложений, которым разрешен доступ к сервису при предъявлении маркера доступа (если параметр отсутствует, то сервис разрешен всем приложениям, которым выдан маркер доступа с данным разрешением);basic
– перечень приложений, которым разрешен доступ к сервису с помощью Basic-авторизации (если параметр отсутствует, то сервис разрешен всем приложениям);
Пример настройки разрешений (blitz_custom_api_sys_users_chg
, blitz_api_sys_users_chg
, blitz_api_user_chg
) для сервиса изменения атрибутов пользователя (users.attrs.change
):
"rest" : {
"defaultEnabled" : true,
"points" : {
"users.attrs.change" : {
"access" : {
"filter" : "flexible",
"methods" : [
"oauth"
],
"scopes" : [
"blitz_custom_api_sys_users_chg",
"blitz_api_sys_users_chg",
"blitz_api_user_chg"
]
},
"enabled" : true
}
}
},