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

Шаблон матрицы прав

Шаблон матрицы прав доступа для системного аналитика.

Шаблон матрицы прав

Матрица прав описывает, какие роли могут выполнять какие действия над какими объектами и при каких условиях.

Паспорт документа

ПолеЗначение
Система<название>
Раздел / функциональность<название>
Модель доступаRBAC / ABAC / гибридная
Автор<ФИО>
СтатусDraft / Review / Approved
Версияv1.0

Цель

Опишите, какие права и ограничения нужно зафиксировать.

Основные понятия

ТерминОписание
Субъект доступаПользователь, сервис или роль
Объект доступаСущность, над которой выполняется действие
ДействиеПросмотр, создание, изменение, удаление, согласование
Условие доступаВладелец, подразделение, статус, регион
РольНабор прав, назначаемый пользователю

Роли

РольКод ролиОписание
АдминистраторADMINПолный доступ
РуководительMANAGERПросмотр и согласование объектов подчиненных
СотрудникEMPLOYEEСоздание и просмотр своих объектов
НаблюдательVIEWERТолько просмотр

Объекты доступа

ОбъектКод объектаОписание
ЗаявкаREQUESTОсновная бизнес-сущность
КомментарийCOMMENTКомментарии к заявке
ВложениеATTACHMENTФайлы заявки
ОтчетREPORTОтчетные данные

Действия

ДействиеКодОписание
Просмотр спискаLISTДоступ к списку
Просмотр карточкиREADДоступ к деталям
СозданиеCREATEСоздание объекта
РедактированиеUPDATEИзменение объекта
УдалениеDELETEУдаление объекта
СогласованиеAPPROVEПодтверждение объекта
ОтменаCANCELОтмена объекта
ЭкспортEXPORTВыгрузка данных

Матрица прав

Роль / ДействиеLISTREADCREATEUPDATEDELETEAPPROVECANCELEXPORT
ADMINДаДаДаДаДаДаДаДа
MANAGERДаДаНетУсловноНетУсловноУсловноДа
EMPLOYEEУсловноУсловноДаУсловноНетНетУсловноНет
VIEWERДаДаНетНетНетНетНетНет

Условия доступа

IDРольДействиеОбъектУсловие
COND-001EMPLOYEEREADREQUESTПользователь является автором
COND-002EMPLOYEEUPDATEREQUESTАвтор и статус DRAFT
COND-003MANAGERAPPROVEREQUESTОбъект создан подчиненным
COND-004VIEWERREADREQUESTОбъект входит в доступный регион

ABAC-атрибуты

АтрибутИсточникОписание
user.idIAM / tokenID пользователя
user.roleIAM / tokenРоль
user.departmentIdProfile serviceПодразделение пользователя
object.ownerIdБД объектаВладелец объекта
object.statusБД объектаСтатус объекта
object.regionБД объектаРегион объекта

UI-поведение

Элемент UIУсловие отображенияПоведение при отсутствии права
Кнопка СоздатьЕсть REQUEST.CREATEСкрыть
Кнопка РедактироватьЕсть REQUEST.UPDATE и условияСкрыть или disabled с tooltip
Кнопка СогласоватьЕсть REQUEST.APPROVEСкрыть
ЭкспортЕсть REQUEST.EXPORTСкрыть

API-проверки

Endpoint / MethodТребуемое правоОбъект проверкиОшибка
GET /requestsREQUEST.LISTФильтр объектов403
GET /requests/{id}REQUEST.READЗаявка {id}403
POST /requestsREQUEST.CREATEРаздел заявок403
PATCH /requests/{id}REQUEST.UPDATEЗаявка {id}403
POST /requests/{id}/approveREQUEST.APPROVEЗаявка {id}403

Фильтрация данных по правам

РольЛогика отбора данных
ADMINВсе объекты
MANAGERОбъекты подчиненных
EMPLOYEEТолько свои объекты
VIEWERОбъекты доступного региона/подразделения

Ошибки доступа

КодУсловиеHTTP / gRPC statusТекст
UNAUTHORIZEDНе авторизован401 / UNAUTHENTICATEDТребуется авторизация
FORBIDDENНет права403 / PERMISSION_DENIEDНедостаточно прав
OBJECT_FORBIDDENНет доступа к объекту403 / PERMISSION_DENIEDОбъект недоступен

Аудит действий

ДействиеAudit?Что фиксировать
CREATEДаuserId, objectId, timestamp
UPDATEДаuserId, objectId, changedFields
DELETEДаuserId, objectId, reason
APPROVEДаuserId, objectId, decision
EXPORTДаuserId, filters, rowCount

Открытые вопросы

IDВопросКому адресованСтатус
Q-001<вопрос><роль / ФИО>Открыт

Критерии приемки документа

IDКритерий
AC-DOC-001Документ согласован с владельцем продукта / архитектором / разработкой, если применимо.
AC-DOC-002Все спорные места вынесены в открытые вопросы или зафиксированы как ограничения.
AC-DOC-003В документе нет неоднозначных формулировок вроде “быстро”, “удобно”, “корректно” без измеримого критерия.