Skip to content

Permissions And Roles

Oriel authorizes with permission strings. Roles are named permission bundles; authorization decisions use resolved permissions, not role names.

The built-in role slug set is closed:

RolePurpose
ownerAll permissions.
adminWorkspace administration without workspace:delete.
editorQuery, dashboards, alerts, silences, saved queries, services, flags, SLOs, experiments, annotations, and channel read.
viewerQuery plus read-only project, dashboard, alert, flag, SLO, and experiment access.

Built-in roles are immutable.

PermissionProject-scopable
telemetry:queryYes
projects:readYes
projects:manageYes
environments:manageYes
services:manageYes
queries:manageYes
dashboards:readNo
dashboards:manageNo
alerts:readYes
alerts:manageYes
silences:manageYes
channels:readNo
channels:manageNo
members:readNo
members:manageNo
roles:readNo
roles:manageNo
tokens:readNo
tokens:manageNo
audit:readNo
workspace:manageNo
workspace:deleteNo
flags:readYes
flags:writeYes
flags:manageYes
annotations:readNo
annotations:writeNo
slos:readNo
slos:manageNo
experiments:readYes
experiments:manageYes
RolePermissions
ownerEvery permission.
admintelemetry:query, projects:read, dashboards:read, alerts:read, dashboards:manage, alerts:manage, silences:manage, queries:manage, services:manage, channels:read, projects:manage, environments:manage, members:read, members:manage, roles:read, roles:manage, tokens:read, tokens:manage, channels:manage, audit:read, workspace:manage, flags:read, flags:write, flags:manage, annotations:read, annotations:write, slos:read, slos:manage, experiments:read, experiments:manage
editortelemetry:query, projects:read, dashboards:read, alerts:read, dashboards:manage, alerts:manage, silences:manage, queries:manage, services:manage, channels:read, flags:read, flags:write, annotations:read, annotations:write, slos:read, slos:manage, experiments:read, experiments:manage
viewertelemetry:query, projects:read, dashboards:read, alerts:read, flags:read, annotations:read, slos:read, experiments:read

A grantor may only grant or revoke permissions that are already included in the grantor’s effective permissions at the target scope. Attempts to widen a member or token beyond the caller’s authority fail with ORL-3006.