Roles and Permissions
Which permissions each default Layer5 Cloud role holds, who assigns each role, and which default keychains group the permissions.
This page tells you which permissions each default Layer5 Cloud role holds. Use it to find out why an action is missing for a user and which role grants it. For how roles, keychains, and permissions fit together, see Roles.
How permission checks work
π
A permission is a named key that allows one action, such as Create Team. A keychain groups keys, and a role groups keychains. Layer5 Cloud checks the key, never the role name. Before it runs a guarded action, Cloud resolves the organization the request names, then checks whether the user holds the key through a role in that organization. A user’s permissions are the union of the keys from every role the user holds there.
When a user lacks the key, Cloud refuses the request with HTTP 403 and the message “You do not hold the permission this action requires in this organization”. The response body is JSON with an error message and a code.
Provider Admin passes every permission check, in every organization.
Default roles
π
| Role | Scope | Assigned by |
|---|
| Provider Admin | Provider | Provider Admin |
| Kanvas | Provider | Provider Admin. Every new account receives it automatically. |
| Curator | Provider | Provider Admin |
| Organization Admin | Organization | Organization Admin or Provider Admin |
| User | Organization | Organization Admin or Provider Admin |
| Workspace Admin | Organization | Organization Admin or Provider Admin |
| Workspace Manager | Organization | Organization Admin or Provider Admin |
| Academy Admin | Organization | Organization Admin or Provider Admin |
| Academy Learner | Organization | Organization Admin or Provider Admin |
| Team Admin | Team | Team Admin or Provider Admin |
An anonymous user, someone using Kanvas without signing in, receives an internal Anonymous User role. It is not listed and cannot be assigned. See Permissions by Role for what anonymous users can do in Kanvas.
The Kanvas role holds no keychains. It makes the Kanvas extension available when a Meshery Server connects to Layer5 Cloud.
Reading the matrices
π
The matrices below are refreshed automatically from the Layer5 permission list.
- A check mark means the role holds the permission.
- A check mark with an asterisk means the role holds the permission only on resources the user owns.
- A dash means the role does not hold the permission.
The columns show the roles that hold permissions in the list. “Org Admin” is the Organization Admin role. Workspace Manager, Curator, Kanvas, and the Academy roles have no column; see Roles outside the matrices.
Designs and catalog
π
Designs| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Designs | View all public and published designs of other team members and private of signed-in user | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Create new design | Create new Meshery design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Import Design | Import a design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Edit design | Edit a design | ✓*Allowed on resources the user owns | ✓*Allowed on resources the user owns | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Details of design | Set design information or details of a design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Delete a design | Delete a design | ✓*Allowed on resources the user owns | ✓*Allowed on resources the user owns | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Download a design | Download a Meshery design in OCI or YAML format | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Validate Design | Validate a design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Evaluate Relationships | Evaluate relationships inside a design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Deploy Design | Deploy a design | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Undeploy Design | Retract all resources used in a Meshery design from the cluster | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Publish Design | Publish a design | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Unpublish Design | Unpublish a design | ✓*Allowed on resources the user owns | ✓*Allowed on resources the user owns | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Catalog| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Catalog | View all items in catalog | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Share Design | Share design with anyone within your organization, and make your design easily accessible to all relevant team members. | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Clone Design | Clone any published design to customise it according to your use cases | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Catalog Requests | View the catalog publication request queue | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Approve Catalog Request | Approve catalog publication requests | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Deny Catalog Request | Deny catalog publication requests | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Teams| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Team | See only teams to which you are a member. See all other members within those teams. | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Teams | See all teams of which you are an administrator. See all members of those teams. | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View All Teams | See all teams within an organization. See all members of all teams. | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Create Team | Establish new team for organizing groups of users and resource access. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Edit Team | Edit a team and add new members to it. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Delete Team | Dissolve a team and all user memberships. Leave associated resources intact. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Add User to Team | Directly create a new user account within a team. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Invite User to Team | Send a request for a user to join a team. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Remove User from Team | Discontinue user membership of a team and team resources. | -Not granted | ✓Allowed | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Assign Roles to Team members | Assign roles to users in a team | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Remove Roles from Team members | Remove roles from users in a team. | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Open Team Invite | This governs the team's invitation permissions, determining whether the team is allowed to extend invitations to new individuals to join through open invite link. | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Leave Team | Leave a team | ✓Allowed | ✓Allowed | ✓Allowed | -Not granted | ✓Allowed |
|---|
Organizations and roles
π
Organizations| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Org | See only organizations to which you are a member. See all other members within your membership teams. | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Organizations | See all organizations of which you are an administrator. See all members of those organizations. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| View All Organizations | See all organizations within a Cloud deployment. See all organizations, teams, and users. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Create Organization | Establish new organization for organizing teams, users, and resource access. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Edit Organization | Edit organiaztions and add teams to it | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Add User to Organization | Directly create a new user account within an organization. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Invite User to Organization | Send a request for a user to join an organization. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Remove User from Organization | Discontinue user access to organization, teams and resources; cease billing accrual. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Promote or Demote User to Org Admin | Elevate or remove organization level administrative privileges. | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Assign Roles to Organization members | Assign roles to users in an organization | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Remove Roles from Organization members | Remove roles from users in an organization | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
Roles| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| Assign User Roles | | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
Workspaces, environments, and connections
π
Workspaces| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Workspace | See all workspaces within an organization | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Create Workspace | Create new workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Edit Workspace | Edit workspace and it's team and environment membership | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Delete Workspace | Dissolve workspace and all team and environment memberships. Leave associated resources intact | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Assign team to workspace | Add new team to workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Remove team from workspace | Remove team from workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Assign environment to workspace | Add new environment to workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Remove environment from workspace | Remove environment from workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Assign Designs to Workspaces | Assign designs to workspaces | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Remove Designs from Workspaces | Remove designs from workspaces | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Environments| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Environment | See all environments within an workspace. | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Create Environment | Create a new environment | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Edit Environment | Edit environment and it connection membership | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Delete Environment | Dissolve environment and all connection memberships. Leave associated resources intact. | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Assign connections to environment | Add new connections to environments | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Remove connections from environment | Remove connections from environment, | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Connections| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Connections | View all connections within an environment | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Add cluster | Add Kubernetes cluster | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Change connection state | Change connection state | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Delete a connection | Delete a connection | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View All Kubernetes Clusters | View all configured Kubernetes clusters | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Operator views| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Views | See all views within a workspace | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Assign Views to Workspace | Add new views to workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Unassign Views from Workspace | Remove views from workspace | -Not granted | -Not granted | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
Performance| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View performance profiles | View all performance profiles | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Results | View results of performance tests | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Add performace profile | Add a new performace profile | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Run test | Run a test on performance profile | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Edit performance test | Edit performance test | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Delete performance test | Delete performance test | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
Settings and extensions| Permission | What it allows | User | Team Admin | Workspace Admin | Org Admin | Provider Admin |
|---|
| View Settings | View settings in Meshery | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Metrics | View already configured metrics | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| View Registry | Explore entities within capabilities registry | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Connect Metrics | Configure and connect to metrics like Grafana and Promethues | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| Connect adapter | Configure and connect to Meshery adapters | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
| View Extensions | View all extensions on the extension page | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed | ✓Allowed |
|---|
| Install extension | Install or enable or disabble extensions in Meshery | -Not granted | -Not granted | -Not granted | ✓Allowed | ✓Allowed |
|---|
Roles outside the matrices
π
| Role | What it holds by default |
|---|
| Workspace Manager | The permissions of Workspace Admin for workspaces, environments, teams, and lifecycle actions, plus management of the designs, environments, and connections inside the workspaces where the user holds the role. It does not hold the catalog curation permissions. |
| Curator | No keychains in a default install. Organization Admin and Workspace Admin hold the catalog curation permissions, including approving and denying publish requests. |
| Kanvas | No keychains. See Default roles. |
| Academy Admin | The Academy management permissions, plus team management and workspace management. |
| Academy Learner | Access to Academy content and registration. |
| Anonymous User | The Kanvas design permissions for people who are not signed in. |
Default keychains
π
Each default keychain groups the permissions for one area. Roles hold keychains, so granting a keychain to a role grants every permission in it.
| Keychain | What it groups |
|---|
| User View | Permissions for individual users. |
| User Management | Managing users and their roles. |
| Team View | Viewing teams and their members. |
| Team Management | Managing teams and team membership. |
| Organization Management | Managing organizations, their teams, and their users. |
| Events Management | Event management: statistics, audit, and summaries. |
| Security Management | Creating, downloading, and deleting API tokens, and managing credentials. Key and keychain management belongs to Provider Management. See the Security Reference. |
Layer5 Cloud also ships keychains for workspaces, environments, the catalog, lifecycle actions, extensions, settings, performance, views, collaboration, infrastructure, curation, the Academy, and the two Kanvas action sets (Designer Actions and Operator Actions). For keychain behavior, see Keychains.
What the matrices do not show
π
- Canvas editing. The permission list omits the per-edit Kanvas permissions, such as adding, deleting, and styling components. See Permissions by Role for which Kanvas actions check a permission.
- Provider Admin. It holds every permission, including permissions that are not in the list.
- Plan limits. A role grants a permission, and the plan decides whether the capability exists for the organization. See Feature Availability by Plan.
Custom roles
π
A custom role bundles keychains that the default roles do not combine. Only a Provider Admin can create, edit, or delete a custom role. On hosted Layer5 Cloud, Layer5 operates the Provider Admin role, so an organization cannot create custom roles itself. On a self-hosted deployment, the operator’s Provider Admins can.
Roles and keychains are defined for the whole Layer5 Cloud deployment, not per organization. Only a Provider Admin can create, edit, or delete a keychain, change its keys, or assign a keychain to a role. Changing the keychains of a role changes that role for every organization that uses it. See Roles.
Related Reading