Skip to main content

What is a Role?

A role is a named collection of permissions. Instead of assigning individual permissions to each subject, you create roles like “Editor” or “Admin” and assign those roles to subjects via their memberships.

Role Properties

Creating Roles

Roles are defined at a specific scope and can be assigned to memberships in that scope and any of its descendants (assignment is explicit—it does not propagate access automatically):

Role Permissions

A role is just a container—it has no permissions until you add them. Use role permissions to connect roles to permissions:

Role Assignments

To grant a role to a subject, create a role assignment that links the role to a membership:

Reusing Roles Across Scopes

A role definition created at a parent scope can be assigned at any child scope—you don’t have to redefine it per scope:
This is about role availability for assignment, not automatic grants. Under the default override mode, a subject with an “Editor” membership at the Organization scope does not automatically have Editor permissions in Team A or Project X—memberships are evaluated at the exact scope of the request, so you create a membership (and role assignment) at each scope where access is needed. Scope types configured as inherit or additive do compose grants from ancestors. See Scope Types, Scopes, and Evaluation.

Scope-Specific Roles

You can also define roles at child scopes for more specific use cases:

Common Role Patterns

Standard RBAC Roles

Agent-Specific Roles

Functional Roles

Role Overrides

You can disable a role at a child scope using role overrides:
Now the Admin role grants nothing in Production—any subject who holds it there loses its permissions at that scope. (Valid role-override states are active, inactive, and inherit.)

Learn about Overrides

See all override types and patterns

Multiple Roles per Membership

A membership can have multiple roles:
The subject’s effective permissions are the union of all their roles’ permissions.

Viewing Role Permissions

Viewing Role Assignments

Best Practices

Create roles for specific purposes rather than catch-all roles. “Billing Manager” is better than “Manager”.
Organization-wide roles at the org level, team-specific roles at the team level.
“Document Editor” is clearer than “Editor” if you have multiple resource types.
Use the description field to explain what each role is for.
Always assign permissions via roles, not directly to subjects.

API Reference

Create Role

Create a new role

Create Role Permission

Add a permission to a role

Create Role Assignment

Assign a role to a membership

Get Roles by Scope

List roles in a scope

Next Steps

Permissions

Learn how permissions define specific access rights