Skip to main content
Arize supports custom roles that give Account Admins precise control over what users can do. Instead of relying solely on the built-in roles (Admin, Member, Read-only, Annotator), you can create roles with specific permissions tailored to your team’s needs. Custom roles are account-wide and can be assigned to users on individual spaces or projects through role bindings.

Built-in vs Custom Roles

Built-in RolesCustom Roles
DefinitionPredefined by Arize (Admin, Member, Read-only, Annotator)Created by Account Admins with specific permissions
ScopeApplied at the account, organization, or space levelAssigned at the space or project level via role bindings
GranularityBroad permission groupsIndividual permissions per feature
ModifiableNoYes — edit or delete at any time
Both systems work together. A user’s effective access is the combination of their built-in role and any custom role assignments. For example, a user with a Read-only space role could also have a custom role binding on a specific project that grants write access to that project.

Creating a Custom Role

Only Account Admins can create custom roles.
  1. Go to Account Settings → Roles.
  2. Click Create Role.
  3. Enter a name and optional description for the role.
  4. Select permissions from the available categories.
  5. Click Create.
Roles tab in Account Settings showing predefined and custom roles
Create Custom Role form with permission category accordion

Permission Categories

When creating or editing a custom role, permissions are organized into the following categories:
CategoryDescription
Projects & TracesView, create, update, and delete projects, spans, and trace views
Datasets & ExperimentsManage datasets, examples, experiments, and experiment runs
TasksManage evaluation tasks for projects and experiments
AnnotationsConfigure annotation types, manage labeling queues and queue records
DashboardsCreate, edit, and delete dashboards
MonitorsCreate, edit, delete, and trigger monitors
Custom MetricsDefine and manage custom metrics
PromptsManage prompts, prompt optimization, and playground views
EvaluatorsCreate and manage evaluators
AI ProvidersView AI provider integrations
TagsCreate and manage tags
Data FabricManage data fabric connectors
ML ModelsManage ML model configurations and file import jobs
UsersView and manage user accounts
SpacesManage space settings
RolesView and manage role bindings and service keys
AlyxRun Alyx AI assistant
Within each category, you can select individual permissions (e.g., allow creating datasets but not deleting them).
The AI Providers category only includes read access. Creating, updating, and deleting AI provider integrations requires Organization Admin or Account Admin access and cannot be granted through custom roles.

Predefined Project Roles

Arize includes three predefined project-level roles that are ready to use without customization. These roles are designed for project-level restrictions and cannot be modified.
CapabilityViewerEditorAdmin
View project, traces, and spans
Read evaluations
Create and update spans
Annotate traces
Manage evaluation tasks
Delete project
Manage project access and restrictions
You can also create custom roles with any combination of project-level permissions to suit your specific needs.

Assigning Roles (Role Bindings)

A role binding assigns a role to a user on a specific resource — either a space or a project. Each user can have one role binding per resource.

Via the UI

  1. Navigate to Space Settings or Project Settings.
  2. Go to the Members section.
  3. Click Add Member.
  4. Select the user and choose a role (predefined or custom).
  5. Click Save.
Assigning a custom role to a user in space settings

Via the REST API

Role bindings can also be managed programmatically. See the RBAC REST API for details.

Via SAML

Role mappings in your SAML configuration can automatically assign custom roles when users log in via SSO. See SAML Configuration for details.