Skip to main content

Asset Permissions Matrix

Summary

This matrix separates what gates visibility (frontend navigation and route guards) from what authorizes an API call. The critical fact: asset native and compatibility endpoints are anonymous and tenant-scoped, with no backend role authorization. Ownership narrowing for employee self-service happens at the gateway by labor id, not on the endpoints.

Audience

Security engineers assessing exposure, solution architects reasoning about defense in depth, and QA engineers verifying access behavior.

Reference Content

Enforcement layers

Action matrix

ActionUI visibilityRoute guardRole checkFeature flagAPI authorizationTenant enforcementResource ownershipClassificationSource path
Admin view asset requestsRole/permission gatedPrefix rulehr-admin/it-asset-adminhr-operationsNone (tenant-scoped)EF filterNoneVisibility-gated onlymicroservices/src/asset-service/Api/AssetCompatEndpoints.cs
Admin create/assign/rejectRole/permission gatedPrefix rulehr-admin/it-asset-adminhr-operationsNone (tenant-scoped)EF filterNoneVisibility-gated onlymicroservices/src/asset-service/Api/AssetEndpoints.cs
Admin status changeRole/permission gatedPrefix rulehr-admin/it-asset-adminhr-operationsNone (tenant-scoped)EF filterNoneVisibility-gated onlymicroservices/src/asset-service/Api/AssetEndpoints.cs
ESS view my assetsPermission gatedPrefix ruleemployeeself-serviceNone (tenant-scoped)EF filterGateway labor-id filterOwnership via gatewaymicroservices/src/gateway-api/Program.cs
ESS raise requestPermission gatedPrefix ruleemployeeself-serviceNone (tenant-scoped)EF filterGateway labor-id filterOwnership via gatewaymicroservices/src/asset-service/Api/AssetEndpoints.cs
Workflow callbackNot UINot UINoneworkflow flagNone (tenant-scoped, idempotent)EF filterNoneAnonymous inboundmicroservices/src/asset-service/Api/AssetEndpoints.cs

Posture summary

  • UI visibility: role and permission gated at the frontend.
  • API authorization: none; endpoints are anonymous and tenant-scoped.
  • Tenant enforcement: EF global query filters plus tenant context (application-level, not database row-level security).
  • Ownership: gateway labor-id filter for ESS reads; no per-record ownership authorization on the endpoints.

Source References

  • microservices/src/asset-service/Api/AssetEndpoints.cs
  • microservices/src/asset-service/Api/AssetCompatEndpoints.cs
  • microservices/src/gateway-api/Program.cs

See Also

Keywords

asset permissions, authorization, tenant enforcement, ownership, anonymous endpoints

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly