Skip to main content
Sign in →

Roles & Permissions (RBAC)

ShieldAgent enforces role-based access control across the platform. This page documents the built-in roles and the permission matrix.

Overview

Every authenticated request is checked against the caller's role within the target tenant. Permissions follow a resource:action pattern (e.g. agent:write). Platform admins have full access across all tenants. Tenant-scoped roles are assigned per-tenant, so a user can be an auditor in one tenant and a tenant_admin in another.

Built-in Roles

ShieldAgent ships with six system roles. Custom roles are not yet supported — assignments use these built-in roles.

RoleScopeDescription
platform_adminPlatformFull platform access across all tenants. Reserved for ShieldAgent operators.
tenant_adminTenantFull management of one tenant: users, settings, billing, all sub-resources.
security_operatorTenantMonitoring, incident triage, alert management, risk review.
auditorTenantRead-only access to compliance reports, audit trail, and export.
aiops_engineerTenantAgent lifecycle, MCP server management, policy authoring.
viewerTenantRead-only dashboard and summary data.

Permission Matrix

The matrix below shows every permission and which roles include it. platform_admin and tenant_admin have all permissions and are omitted for readability.

PermissionDescriptionsec_opauditoraiopsviewer
agent:readView / list agents✓✓✓✓
agent:writeCreate or update agents——✓—
agent:deleteRemove agents——✓—
agent:configureModify agent settings——✓—
policy:readView / list policies✓✓✓✓
policy:writeCreate or update policies——✓—
policy:deleteRemove policies——✓—
audit:readView audit trail events✓✓✓—
audit:exportExport audit data—✓——
compliance:readView compliance reports✓✓——
compliance:writeCreate or update compliance records————
compliance:exportExport compliance data—✓——
risk:readView risk scores and trending✓✓✓✓
risk:configureModify risk thresholds✓—✓—
incident:readView incidents✓✓——
incident:writeCreate or update incidents✓———
incident:triageAcknowledge, assign, or resolve✓———
mcp_server:readView MCP server registrations✓—✓✓
mcp_server:writeCreate or update MCP servers——✓—
mcp_server:deleteRemove MCP servers——✓—
alert:readView alerts✓✓✓✓
alert:writeCreate or update alert rules✓—✓—
alert:deleteRemove alert rules————
alert:triageAcknowledge or resolve alert events✓———
review:readView pending reviews✓✓✓—
review:triageApprove or reject reviews✓———
user:readView user accounts————
user:writeCreate or update users and roles————
user:deleteRemove user accounts————
tenant:readView tenant settings✓✓✓✓
tenant:writeModify tenant settings / billing————
export:readView export configurations—✓——
export:writeCreate or update export configs————
dashboard:readView aggregated dashboard data✓✓✓✓

Managing Roles in the Dashboard

Invite users and assign roles directly from the dashboard:

  1. 1Go to Settings → Team in the left sidebar.
  2. 2Click Invite User and enter their email address.
  3. 3Choose a role from the dropdown (viewer, auditor, aiops_engineer, security_operator, or tenant_admin).
  4. 4Click Send Invite — the user receives an email and is assigned the role upon accepting.
  5. 5To change an existing user's role, find them in the Team list and click their current role to open the role picker.

Role Assignment

Roles are assigned per user per tenant. A user can hold different roles in different tenants, allowing flexible access control across your organization.

Roles & Permissions (RBAC)