RBAC Model

The Enterprise Stack uses Role-Based Access Control (RBAC) to authorize access to APIs and administrative operations.

RBAC in the Enterprise Stack is built around four core concepts:

ConceptDescription
PermissionsIndividual operations that can be performed
RolesCollections of permissions
PrincipalsIdentities such as Accounts, API Keys, or external users
ScopesOrganizational boundaries where roles apply

Permissions are grouped into roles, and roles are assigned to principals.

Principal → Role → Permissions → API Access

Permission Scope

Roles are always assigned within a scope. Scopes define where permissions are effective.

ScopeDescription
OrganizationAccess across all tenants in an organization
TenantAccess limited to one tenant
Sub-tenantAccess limited to nested tenant structures
ServiceAccess limited to a specific service instance

Example: A Tenant Admin role assigned in Tenant A can manage resources in Tenant A, but not in Tenant B.

Example Role Setup

Typical enterprise deployments use role profiles similar to:

RolePermissions
Organization AdminManage tenants, services, and users
Tenant AdminManage services within a tenant
Issuer OperatorIssue and revoke credentials
Verifier OperatorVerify credentials
AuditorRead-only access to logs and analytics

Roles can be assigned to:

  • Accounts
  • API keys
  • External IAM identities (after successful authentication)

Example Authorization Flow

  1. A principal authenticates (account, API key, or IAM token)
  2. Enterprise Stack validates identity
  3. RBAC roles are resolved for the target scope
  4. Requested operation is mapped to a required permission
  5. Permission is granted or denied

If the permission is not present, the request is rejected with 403 Forbidden.

Last updated on March 10, 2026