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.

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.

RoleScopeAssigned by
Provider AdminProviderProvider Admin
KanvasProviderProvider Admin. Every new account receives it automatically.
CuratorProviderProvider Admin
Organization AdminOrganizationOrganization Admin or Provider Admin
UserOrganizationOrganization Admin or Provider Admin
Workspace AdminOrganizationOrganization Admin or Provider Admin
Workspace ManagerOrganizationOrganization Admin or Provider Admin
Academy AdminOrganizationOrganization Admin or Provider Admin
Academy LearnerOrganizationOrganization Admin or Provider Admin
Team AdminTeamTeam 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.

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
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View DesignsView all public and published designs of other team members and private of signed-in userAllowedAllowedAllowedAllowedAllowed
Create new designCreate new Meshery designAllowedAllowedAllowedAllowedAllowed
Import DesignImport a designAllowedAllowedAllowedAllowedAllowed
Edit designEdit a designAllowed on resources the user ownsAllowed on resources the user ownsAllowedAllowedAllowed
Details of designSet design information or details of a designAllowedAllowedAllowedAllowedAllowed
Delete a designDelete a designAllowed on resources the user ownsAllowed on resources the user ownsAllowedAllowedAllowed
Download a designDownload a Meshery design in OCI or YAML formatAllowedAllowedAllowedAllowedAllowed
Validate DesignValidate a designAllowedAllowedAllowedAllowedAllowed
Evaluate RelationshipsEvaluate relationships inside a designAllowedAllowedAllowedAllowedAllowed
Deploy DesignDeploy a designNot grantedNot grantedAllowedAllowedAllowed
Undeploy DesignRetract all resources used in a Meshery design from the clusterNot grantedNot grantedAllowedAllowedAllowed
Publish DesignPublish a designAllowedAllowedAllowedAllowedAllowed
Unpublish DesignUnpublish a designAllowed on resources the user ownsAllowed on resources the user ownsAllowedAllowedAllowed
Catalog
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View CatalogView all items in catalogAllowedAllowedAllowedAllowedAllowed
Share DesignShare design with anyone within your organization, and make your design easily accessible to all relevant team members.AllowedAllowedAllowedAllowedAllowed
Clone DesignClone any published design to customise it according to your use casesAllowedAllowedAllowedAllowedAllowed
View Catalog RequestsView the catalog publication request queueNot grantedNot grantedAllowedAllowedAllowed
Approve Catalog RequestApprove catalog publication requestsNot grantedNot grantedAllowedAllowedAllowed
Deny Catalog RequestDeny catalog publication requestsNot grantedNot grantedAllowedAllowedAllowed
Teams
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View TeamSee only teams to which you are a member. See all other members within those teams.AllowedAllowedAllowedAllowedAllowed
View TeamsSee all teams of which you are an administrator. See all members of those teams.Not grantedAllowedAllowedAllowedAllowed
View All TeamsSee all teams within an organization. See all members of all teams.AllowedAllowedAllowedAllowedAllowed
Create TeamEstablish new team for organizing groups of users and resource access.Not grantedAllowedNot grantedAllowedAllowed
Edit TeamEdit a team and add new members to it.Not grantedAllowedNot grantedAllowedAllowed
Delete TeamDissolve a team and all user memberships. Leave associated resources intact.Not grantedAllowedNot grantedAllowedAllowed
Add User to TeamDirectly create a new user account within a team.Not grantedAllowedNot grantedAllowedAllowed
Invite User to TeamSend a request for a user to join a team.Not grantedAllowedNot grantedAllowedAllowed
Remove User from TeamDiscontinue user membership of a team and team resources.Not grantedAllowedNot grantedAllowedAllowed
Assign Roles to Team membersAssign roles to users in a teamNot grantedAllowedAllowedAllowedAllowed
Remove Roles from Team membersRemove roles from users in a team.Not grantedAllowedAllowedAllowedAllowed
Open Team InviteThis 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 grantedAllowedAllowedAllowedAllowed
Leave TeamLeave a teamAllowedAllowedAllowedNot grantedAllowed
Organizations
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View OrgSee only organizations to which you are a member. See all other members within your membership teams.AllowedAllowedAllowedAllowedAllowed
View OrganizationsSee all organizations of which you are an administrator. See all members of those organizations.Not grantedNot grantedNot grantedAllowedAllowed
View All OrganizationsSee all organizations within a Cloud deployment. See all organizations, teams, and users.Not grantedNot grantedNot grantedAllowedAllowed
Create OrganizationEstablish new organization for organizing teams, users, and resource access.Not grantedNot grantedNot grantedAllowedAllowed
Edit OrganizationEdit organiaztions and add teams to itNot grantedNot grantedNot grantedAllowedAllowed
Add User to OrganizationDirectly create a new user account within an organization.Not grantedNot grantedNot grantedAllowedAllowed
Invite User to OrganizationSend a request for a user to join an organization.Not grantedNot grantedNot grantedAllowedAllowed
Remove User from OrganizationDiscontinue user access to organization, teams and resources; cease billing accrual.Not grantedNot grantedNot grantedAllowedAllowed
Promote or Demote User to Org AdminElevate or remove organization level administrative privileges.Not grantedNot grantedNot grantedAllowedAllowed
Assign Roles to Organization membersAssign roles to users in an organizationNot grantedNot grantedNot grantedAllowedAllowed
Remove Roles from Organization membersRemove roles from users in an organizationNot grantedNot grantedNot grantedAllowedAllowed
Roles
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
Assign User RolesNot grantedNot grantedNot grantedAllowedAllowed
Workspaces
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View WorkspaceSee all workspaces within an organizationAllowedAllowedAllowedAllowedAllowed
Create WorkspaceCreate new workspaceNot grantedNot grantedAllowedAllowedAllowed
Edit WorkspaceEdit workspace and it's team and environment membershipNot grantedNot grantedAllowedAllowedAllowed
Delete WorkspaceDissolve workspace and all team and environment memberships. Leave associated resources intactNot grantedNot grantedAllowedAllowedAllowed
Assign team to workspaceAdd new team to workspaceNot grantedNot grantedAllowedAllowedAllowed
Remove team from workspaceRemove team from workspaceNot grantedNot grantedAllowedAllowedAllowed
Assign environment to workspaceAdd new environment to workspaceNot grantedNot grantedAllowedAllowedAllowed
Remove environment from workspaceRemove environment from workspaceNot grantedNot grantedAllowedAllowedAllowed
Assign Designs to WorkspacesAssign designs to workspacesNot grantedNot grantedAllowedAllowedAllowed
Remove Designs from WorkspacesRemove designs from workspacesNot grantedNot grantedAllowedAllowedAllowed
Environments
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View EnvironmentSee all environments within an workspace.AllowedAllowedAllowedAllowedAllowed
Create EnvironmentCreate a new environmentNot grantedNot grantedAllowedAllowedAllowed
Edit EnvironmentEdit environment and it connection membershipNot grantedNot grantedAllowedAllowedAllowed
Delete EnvironmentDissolve environment and all connection memberships. Leave associated resources intact.Not grantedNot grantedAllowedAllowedAllowed
Assign connections to environmentAdd new connections to environmentsNot grantedNot grantedAllowedAllowedAllowed
Remove connections from environmentRemove connections from environment,Not grantedNot grantedAllowedAllowedAllowed
Connections
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View ConnectionsView all connections within an environmentAllowedAllowedAllowedAllowedAllowed
Add clusterAdd Kubernetes clusterNot grantedNot grantedAllowedAllowedAllowed
Change connection stateChange connection stateNot grantedNot grantedAllowedAllowedAllowed
Delete a connectionDelete a connectionNot grantedNot grantedAllowedAllowedAllowed
View All Kubernetes ClustersView all configured Kubernetes clustersAllowedAllowedAllowedAllowedAllowed
Operator views
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View ViewsSee all views within a workspaceAllowedAllowedAllowedAllowedAllowed
Assign Views to WorkspaceAdd new views to workspaceNot grantedNot grantedAllowedAllowedAllowed
Unassign Views from WorkspaceRemove views from workspaceNot grantedNot grantedAllowedAllowedAllowed
Performance
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View performance profilesView all performance profilesAllowedAllowedAllowedAllowedAllowed
View ResultsView results of performance testsAllowedAllowedAllowedAllowedAllowed
Add performace profileAdd a new performace profileNot grantedNot grantedNot grantedAllowedAllowed
Run testRun a test on performance profileNot grantedNot grantedNot grantedAllowedAllowed
Edit performance testEdit performance testNot grantedNot grantedNot grantedAllowedAllowed
Delete performance testDelete performance testNot grantedNot grantedNot grantedAllowedAllowed
Settings and extensions
PermissionWhat it allowsUserTeam AdminWorkspace AdminOrg AdminProvider Admin
View SettingsView settings in MesheryAllowedAllowedAllowedAllowedAllowed
View MetricsView already configured metricsAllowedAllowedAllowedAllowedAllowed
View RegistryExplore entities within capabilities registryAllowedAllowedAllowedAllowedAllowed
Connect MetricsConfigure and connect to metrics like Grafana and PromethuesNot grantedNot grantedNot grantedAllowedAllowed
Connect adapterConfigure and connect to Meshery adaptersNot grantedNot grantedNot grantedAllowedAllowed
View ExtensionsView all extensions on the extension pageAllowedAllowedAllowedAllowedAllowed
Install extensionInstall or enable or disabble extensions in MesheryNot grantedNot grantedNot grantedAllowedAllowed
RoleWhat it holds by default
Workspace ManagerThe 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.
CuratorNo keychains in a default install. Organization Admin and Workspace Admin hold the catalog curation permissions, including approving and denying publish requests.
KanvasNo keychains. See Default roles.
Academy AdminThe Academy management permissions, plus team management and workspace management.
Academy LearnerAccess to Academy content and registration.
Anonymous UserThe Kanvas design permissions for people who are not signed in.

Each default keychain groups the permissions for one area. Roles hold keychains, so granting a keychain to a role grants every permission in it.

KeychainWhat it groups
User ViewPermissions for individual users.
User ManagementManaging users and their roles.
Team ViewViewing teams and their members.
Team ManagementManaging teams and team membership.
Organization ManagementManaging organizations, their teams, and their users.
Events ManagementEvent management: statistics, audit, and summaries.
Security ManagementCreating, 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.

  • 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.

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