ReferenceRoles and permissions

System roles

Built-in role definitions, administrator boundaries and exact permission bundles.

Agentic Friendly

Use a system role for a fixed functional bundle, or a custom role for an additive selection of permissions. A system role's definition cannot be edited or deleted. The nine functional roles can be assigned to eligible users and groups within a tenant.

Role definitions are not a user's effective access report. A user's permissions combine baseline membership, direct roles, group-inherited roles and custom-role grants. The role permission lists below show only what each role adds above baseline, including inherited role permissions. Resource ownership and sharing checks remain separate.

Choose a role

Expand a definition to inspect its permissions. Functional role IDs are shown beneath their names; administrator assignments and baseline membership are listed separately.

Administrator boundaries

Platform administrator

Manages the platform tenant registry, protected platform/tenant administrator rosters and shared platform services. It is a protected administrator assignment, not one of the nine functional system roles and not a selectable custom-role permission bundle.

Platform administration does not grant membership of every tenant. Global tenant administration is inherited only with current Global membership. Ordinary tenants require their own membership and administrator assignment. Resource services can define explicit administrator access, such as MLflow workspace management; this is not blanket access to all content.

Tenant administrator

Manages one tenant's identity, ordinary groups and roles, settings, MCP registrations and other administrator operations. The protected assignment is effective only while the user is a current member of that tenant.

This is not a superuser content role. It does not imply the AI, Data or inference functional roles. A tenant administrator who needs those operations also needs the corresponding role or custom-role grant and any resource relationships.

In addition to baseline membership, tenant administration grants the following permissions:

Baseline tenant membership

Every current tenant member has these 74 operation permissions, even without a functional role. They cover ordinary personal work, resource-gated content access and tenant context. Having the gate is not the same as owning or being able to see every resource.

Custom roles are additive. Removing an identifier from a custom role cannot revoke a permission already supplied by membership, another role or another assignment.

FamilyPermission IDs
Agentsagent.configuration.create, agent.configuration.delete, agent.configuration.list, agent.configuration.read, agent.configuration.update, agent.configuration.use
Authorization and sharingauthorization.resource_grant.create, authorization.resource_grant.list, authorization.resource_grant.revoke
Chatchat.message.create, chat.message.list, chat.session.create, chat.session.delete, chat.session.list, chat.session.read, chat.session.update
API credentialscredential.api_key.create, credential.api_key.list, credential.api_key.manage, credential.api_key.revoke
Document processingdocument.job.read, document.processing.execute
MCPmcp.credential.link, mcp.credential.status, mcp.credential.unlink, mcp.server.list, mcp.server.read, mcp.server.use
MLflowmlflow.webhook.create, mlflow.webhook.delete, mlflow.webhook.list, mlflow.webhook.read, mlflow.webhook.update, mlflow.workspace.delete, mlflow.workspace.list, mlflow.workspace.read, mlflow.workspace.update
Deep Researchresearch.job.cancel, research.job.control, research.job.create, research.job.delete, research.job.list, research.job.read
Skillsskill.create, skill.delete, skill.read, skill.share, skill.update
Sparkspark.cluster.create, spark.cluster.delete, spark.cluster.list, spark.cluster.read, spark.cluster.scale, spark.job.create, spark.job.delete, spark.job.list, spark.job.read
Files and storagestorage.object.create, storage.object.delete, storage.object.download, storage.object.list, storage.object.read, storage.object.update, storage.space.create, storage.space.delete, storage.space.list, storage.space.read, storage.space.update
Tenanttenant.embedding.read, tenant.group.list, tenant.member.list, tenant.service_desk.read, tenant.read, tenant.translation.read

AI Viewer

assigned_ai_viewer

Inspect MLflow experiments, runs, models and traces without granting their write operations.

Adds these 8 permissions above baseline:

AI Builder

assigned_ai_builder

Create and manage MLflow experiments, runs, models and traces. Includes AI Viewer permissions, but not platform model deployment or automatic workspace creation.

Adds these 20 permissions above baseline:

Data Consumer

assigned_data_consumer

Discover connector definitions and inspect Data Hub resources shared with the caller.

Adds these 8 permissions above baseline:

Data Builder

assigned_data_builder

Data Steward

assigned_data_steward

Data Credential Manager

assigned_data_credential_manager

Replace connection credentials independently of data-building roles. Operator access on the connection is also required; the role alone does not provide Data Hub discovery permissions.

Adds this 1 permission above baseline:

Inference Consumer

assigned_inference_consumer

The built-in inference-consumer assignment adds no permission IDs beyond baseline tenant membership in this catalogue. Do not infer deployment authority from the role name.

Tenant membership still supplies baseline access; this role adds no catalogue permissions.

Inference Deployer

assigned_inference_deployer

Inference Operator

assigned_inference_operator

Inspect tenant model presets, allowed runtime profiles and shared catalogues. Does not grant profile writes or platform model deployment.

Adds these 7 permissions above baseline:

Inspect deployed role definitions

GET /v1/authz/roles?kind=system returns system-role definitions and direct assignments in roles, plus membership-derived permissions in baseline_permissions. Each system role lists only its additions above baseline, including inherited role permissions. The baseline list is returned even with kind=custom; it is not an assignable role. GET /v1/authz/roles/{role_id} reads one role. Both require tenant.role.list.

For example, use assigned_data_builder as the role ID, not the display label “Data Builder”. Custom roles use UUIDs. The response's permission list is a role definition, not proof that a particular user can access a particular resource.

On this page