Skip to main content
Version: v3

RBAC Permissions

Role-Based Access Control (RBAC) is a method of managing access to system resources based on user roles. Instead of assigning permissions directly to individual users, roles are created with predefined permissions, and users are assigned to these roles. This approach simplifies permission management and enhances security by reducing the risk of unauthorized access.

Each plugin defines its own permissions. The tables below list the permissions in the default install, grouped by plugin. Each entry shows the permission name, the policy action, and the resource type. A dash means the permission has no resource type.

A policy can also name a resource type, such as catalog-entity, to cover every permission of that type. The documented basicPermissions example uses catalog-entity.


1. RBAC policy permissions​

These permissions control who can read and change roles and policies. Users and groups in superUsers get full access, including role and policy management. The policy list shows their admin policies under role:default/rbac_admin, and that role does not appear in the role list.

PermissionPolicy actionResource typeWhat it allows
policy.entity.readreadpolicy-entityRead roles and policies
policy.entity.createcreate—Create roles and policies
policy.entity.deletedeletepolicy-entityDelete roles and policies
policy.entity.updateupdatepolicy-entityUpdate roles and policies

2. Scaffolder permissions​

PermissionPolicy actionResource typeWhat it allows
scaffolder.template.parameter.readreadscaffolder-templateRead template parameters
scaffolder.template.step.readreadscaffolder-templateRead template steps
scaffolder.action.executeusescaffolder-actionRun scaffolder actions
scaffolder.task.cancelusescaffolder-taskCancel scaffolder tasks
scaffolder.task.createcreate—Create scaffolder tasks
scaffolder.task.readreadscaffolder-taskRead scaffolder tasks
scaffolder.template.managementuse—Manage scaffolder templates

3. Catalog permissions​

PermissionPolicy actionResource typeWhat it allows
catalog.entity.readreadcatalog-entityRead catalog entities
catalog.entity.createcreate—Create catalog entities
catalog.entity.deletedeletecatalog-entityDelete catalog entities
catalog.entity.refreshupdatecatalog-entityRefresh catalog entities
catalog.entity.validateuse—Validate catalog entities
catalog.location.readread—Read catalog locations
catalog.location.createcreate—Create catalog locations
catalog.location.deletedelete—Delete catalog locations
catalog.location.analyzeuse—Analyze catalog locations

The Notifications plugin registers no permissions.

An admin can list the registered set with GET /api/permission/plugins/policies:

curl -H "Authorization: Bearer $TOKEN" http://localhost:7007/api/permission/plugins/policies

If you install a plugin that registers its own permissions, those permission names come from that plugin. Grant them to a role with the same REST or CSV method described in How to Create a Role.