Workspace Permissions
Workspace permissions are divided into two categories; workspace permissions and workspace hierarchy permissions:
Workspace permissions are tied to a specific workspace and define what a user can do with that one specific workspace.
Workspace hierarchy permissions are tied to a specific workspace and define what a user can do with that specific workspace and all of its child workspaces. For more information on Workspace hierarchies, see Build a Workspace Hierarchy.
Note
Permissions are a beta feature. Please note that the implementation of these features is not finalized, and the behavior or interface of these features is subject to change.
Supported Permissions
The following permissions are applicable to the Workspace object type:
VIEW
User can view Dashboards.
ANALYZE
Additionally, user can create, edit and delete Dashboards, Insights. User can view LDM and Metrics.
MANAGE
Additionally, user can create, edit and delete LDM and Metrics.
Note
To be able to work with the LDM fully, including PDM-LDM mapping, user also requires at least the
USE
permission for data sources.
Permission Hierarchy
graph RL VIEW --> ANALYZE --> MANAGE
Set Permissions For a Workspace
Workspaces come with an imperative API endpoint /api/layout/workspaces/{workspaceId}/permissions
that allows you to set permissions for a particular workspace without having to submit the entire layout definition.
Alternatively you can set permissions using the /api/layout/workspaces
or the /api/layout/organization
declarative API endpoints.
Steps:
Prepare a
<your_workspace_permissions>.json
file your workspace permissions definition:{ "hierarchyPermissions": [ { "assignee": { "id": "<user_id_or_user_group_id>", "type": "<user_or_userGroup>" }, "name": "<MANAGE_or_ANALYZE_or_VIEW>" } ], "permissions": [ { "assignee": { "id": "<user_id_or_user_group_id>", "type": "<user_or_userGroup>" }, "name": "<MANAGE_or_ANALYZE_or_VIEW>" } ] }
Update the workspace permissions using the following API call:
curl -H "Authorization: Bearer <your_bearer_token>" \ -H "Content-Type: application/json" \ -X PUT \ <your_hostname>/api/layout/workspaces/{workspaceId}/permissions -d @<your_workspace_permissions>.json