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

Policy/Permission:

Назначение

Опиши, какое действие защищает permission/policy, почему доступ чувствительный и какие domain risks закрываются.

Идентификация

ПолеЗначение
Permission<domain.resource.action>
Policy<PolicyName>
Owner service/app<service-or-app>
Applies to<API/page/component/job/manual action>
Audit levelReadSensitive / ManualDecision / MoneyDecision / SecurityDecision

Акторы

ActorРазрешеноУсловияПричина отказа
<AdminRole>Да/Нет<tenant/brand/MFA/status><ErrorCode>

Входные Данные Решения <PermissionDecisionInput>

ПолеТипОбязательностьИсточникОписание
TenantIdTenantIdДаIdentity claimsTenant boundary.
ActorIdUserIdДаIdentity claimsActor, выполняющий действие.
<FieldName><Type>Да/Нет<route/body/resource><описание>

Правила Решения

ПравилоУсловиеРезультатОшибка
<RuleName><condition>Allow / Deny<ErrorCode>

Правила Scope

ScopeПравило
Tenant<actor tenant must match resource TenantId>
Brand<allowed BrandIds contains resource BrandId>
Resource ownership<owner/assignee/team rule>
MFA/session<fresh MFA/session age requirement>

Точки Enforcement

МестоEnforcementПоведение при отказе
API<controller/action/filter/handler><403/404 masked>
Frontend<route guard/component guard><forbidden state>
Background/manual<operator permission check><stop and audit>

Audit И Журналирование

ДействиеПоляОбработка sensitive данных
AllowedTenantId, ActorId, <resource id><mask/exclude>
DeniedTenantId, ActorId, <reason><mask/exclude>

Тесты

ТестОжидание
Allowed actor<success>
Missing permission<typed forbidden>
Wrong tenant<deny without data leak>
MFA required<step-up required/deny>

Обратные ссылки

Автоссылки: где используется этот документ.