Skip to main content

Setup & Access

Permissions Reference

A permission is an action that a role allows, such as events:read. Use this page to build a role, or to find what is missing when a request is denied.

Actions do nothing on their own: put them in an IAM policy and attach it to a role that a member, team, or token has. This page lists the actions that public workflows use. The permission catalog of your environment is the final authority.

Find the necessary permission​

  1. Find the product area in the tables below.
  2. Pick the narrowest action that does the job, such as events:read rather than events:*.
  3. Put it in an allow statement with the right resource scope.
  4. Attach the policy to the role of the user or team, and try the operation again.

For a denied request, keep the request ID and error code, and read Limits and failure behavior before you grant anything broader.

Every action is denied by default. A matching deny stops it, and a matching allow permits it. This applies in the Console, in CLI commands that call the control plane, and to organization-scoped tokens.

Action pattern syntax​

A statement accepts three forms of action:

PatternExampleMeaning
One actionevents:readThat action only
Namespace wildcardevents:*Every action in the events namespace
Full wildcard*Every action

A resource is * or a pattern that starts with vdt:verdictan:. Roles and IAM Policies describes the statement shape and the condition operators.

Actions​

Investigations and evidence​

ActionUse
events:readView governance events
events:writeCreate or add events
events:exportExport governance events
escalations:readView escalation queues
escalations:claimClaim an escalation
escalations:resolveResolve an escalation
exports:readView export jobs and download their artifacts
exports:writeCreate export jobs
org:trail:readView Trail events and evidence
org:trail:adminManage Trail workflows and evidence operations
ai_usage_stream:readList AI usage stream destinations and read delivery health and delivery status
ai_usage_stream:writeCreate and update AI usage stream destinations
ai_usage_stream:adminDelete AI usage stream destinations
ai_usage_stream:ingestReceive captured usage records. Only a gateway service token that is bound to a connected gateway holds this action.

Configurations and gateways​

ActionUse
configs:readView saved configurations
configs:writeCreate or update configurations
gateways:readView gateway status and details
gateways:registerRegister a connected gateway
gateways:rotate_tokenRotate the gateway runtime token of a connected gateway
gateways:deployApply gateway configuration changes
gateways:adminDo administrative gateway mutations, such as deletion
gateways:bind_agentBind an agent to a gateway
gateways:unbind_agentRemove an agent binding from a gateway
gateways:update_policyUpdate a gateway policy binding
gateways:report_statusReport runtime health from a gateway runtime token
agents:manage_publicationManage the agent publication lifecycle

Identity, teams, and policy governance​

ActionUse
users:readView organization members
users:inviteInvite members and manage invitations
users:manageManage member status and organization-level access
teams:readView teams
teams:manageCreate, update, or delete teams and their members
roles:readView roles
roles:writeCreate or update roles
roles:assignAssign roles to members or teams
policies:readView IAM policies
policies:writeCreate or update IAM policies
org:settingsManage organization settings, with the MFA policy
org:ssoCreate, test, activate, enable, and enforce SSO connections and verified domains
sso:readView SCIM tokens
sso:writeEnable SCIM, generate or revoke SCIM tokens, and start a SCIM sync
oauth_clients:readView registered OAuth clients
oauth_clients:writeRegister or delete OAuth clients
org:auditView organization audit activity

Tokens, spend, and notifications​

ActionUse
tokens:listList tokens
tokens:createCreate tokens
tokens:readView token details
tokens:updateUpdate token metadata
tokens:rotateRotate token credentials
tokens:revokeRevoke tokens
tokens:validateValidate a token through the control-plane validation endpoint
spend:readView spend summaries and logs
costs:readView usage-cost summaries and provider-cost telemetry
cost_governance:writeManage cost-governance budgets and related controls
budgets:readView budgets
budgets:createCreate a budget
budgets:updateUpdate a budget
budgets:deleteDelete a budget
budgets:writeCreate, update, or delete budget-policy records
notifications:readView notifications
notifications:manageManage notification channels and preferences

The budgets:write action does not replace budgets:create, budgets:update, or budgets:delete.

Supporting product surfaces​

ActionUse
agents:readView agent details and supporting agent settings
agents:writeManage access policies, usage constraints, gateway groups, and other agent settings
agents:listList agents
agents:createCreate an agent
agents:updateUpdate an agent
agents:deleteDelete an eligible agent
agents:deployRun supported agent deployment actions
agents:bind_gatewayAdd or replace agent-to-gateway links
agents:unbind_gatewayRemove an agent-to-gateway link
agents:reviewCreate an agent review execution
templates:readView templates
models:readView the published model catalog
history:readView governed History
history:writeManage History records when the workflow allows it
context:readRead or resolve Context Fabric data when the context endpoint uses this action
work_receipts:readSearch user-scoped work receipts
work_receipts:writeCreate user-scoped work receipts
secrets:listList secret records when a workflow uses this action
secrets:readView secret metadata and simulate provider-key access
secrets:writeCreate, rotate, update, or delete secrets
cache:readView Context Fabric artifacts, materialization state, and cache-governance data
cache:adminManage repository-source trust, artifact lifecycle actions, and cache-governance controls

Examples​

A read-only evidence policy for reviewers:

verdictan iam policy create \
  --name "Evidence Reader" \
  --effect allow \
  --action events:read \
  --action exports:read \
  --action org:trail:read \
  --resource '*'

A broad identity administration policy. Review the list before you assign it:

verdictan iam policy create \
  --name "Identity Administrator" \
  --effect allow \
  --action users:read \
  --action users:invite \
  --action users:manage \
  --action teams:read \
  --action teams:manage \
  --action roles:read \
  --action roles:assign \
  --action org:sso \
  --action sso:write \
  --resource '*'

Keep these responsibilities in separate roles:

RoleActions
Reviewer or analystInvestigation and export actions
Configuration ownerConfiguration and gateway rollout actions
Identity administratorInvitation, team, role, and SSO actions
Finance or governance ownerSpend and budget actions
Gateway runtime tokengateways:report_status and the other gateway actions that the runtime needs

Give each credential only what its task needs. Never use an administrator token as an application token.

Limits and failure behavior​

  • A 403 with code auth.insufficient_permissions means that no allow matched, or a deny matched. The body does not name the action. Find the action of the route in the OpenAPI document, and simulate it with verdictan policy evaluate.
  • An OAuth access token gets 403 with oauth.insufficient_scope when its approved scope does not cover the action.
  • The API accepts only actions from its catalog. verdictan iam policy create fails for an unknown action.
  • verdictan policy lint and verdictan policy evaluate check actions against the CLI's own list, which lacks costs:read and cost_governance:write: lint reports unsupported action pattern. Create policies with those actions in the Console or with verdictan iam policy create.
  • This is a public subset. An action in the catalog is not a commitment to support an undocumented route.
  • Client API tokens and gateway runtime tokens are separate from human roles. See Identity and Access.

Next steps​