Manage Permissions
Permissions and data filters work together to control access to your analytics. Workspace permissions determine who can enter a workspace and what they can do there. Object permissions determine who can view, share, or edit individual columns, metrics, visualizations, and dashboards. Data filters limit which rows appear in the analytics a user can access.
You can combine these permissions in one workspace. For example, you could let everyone use metrics that calculate revenue, allow selected analysts to maintain those metrics, and restrict salary data to a group you create for your finance team.
Choose What to Protect
Start with the information or action you need to control. A setup can require several of these controls:
| To control… | Use… | Guide |
|---|---|---|
| Who can enter a workspace, create content, export, or administer it | Workspace permissions. | Workspace Permissions |
| Access to sensitive data wherever it is used in analytics | Permissions on the relevant fact, attribute, or secondary label. | Columns |
| Access to a reusable calculation and its MAQL definition | Metric permissions. | Metrics |
| Access to a particular saved chart or table | Visualization permissions. | Visualizations |
| Access to a dashboard and its layout | Dashboard permissions. | Dashboards |
| Which rows a user or group can see within a workspace | User data filters. | Set Up Data Filters for Users |
| Which rows are available in a tenant’s child workspace | Workspace data filters. | Set Up Data Filters in Workspaces |
Restricting a dashboard or visualization does not stop someone who can access its inputs from building another analysis with those inputs. For example, if your model contains a fact that stores salaries, restrict that fact to protect the data wherever it is used in analytics. If authorized users should see salaries only for their own department, also configure a data filter.
Data filters do not grant access to workspaces or objects. Object permissions do not select a tenant’s rows. Dashboard filters let viewers explore data; use user or workspace data filters to enforce row restrictions.
Workspace and Object Access
When configuring access, answer these questions separately:
| Question | Where to configure it | Example |
|---|---|---|
| Can the user enter the workspace, and which tasks can they perform? | Workspace permissions | Grant ANALYZE and CREATE_METRIC to let an analyst create metrics in the Metric editor. |
| What can the user do with an existing object? | The object’s access settings | Grant EDIT on an existing metric to let the analyst maintain it. |
| Can the user access everything needed to compute a result? | Permissions on the object’s dependencies | Give the analyst access to the facts, attributes, labels, and other metrics used by that metric. |
| Which rows can appear in the result? | User or workspace data filters | Limit an accessible revenue calculation to the user’s department or tenant. |
Creating an object does not require edit access to other objects of the same type. Editing an existing object does not require permission to create a new one. An object grant also does not open an authoring tool: Catalog, Analytical Designer, and the Metric editor require the appropriate workspace access.
Administrators have broader access. Organization administrators can access all objects in the organization. Workspace administrators can access all objects within the scope of their MANAGE permission. Object restrictions do not exclude these administrators.
Where Permissions Are Assigned
A grant assigns a permission to a user or user group on a resource. For example, suppose you create a metric named Revenue and a user group named Finance. A grant can give that group VIEW on the metric. The same group can hold different permissions on another metric or in another workspace.
| Resource | What its permissions control |
|---|---|
| Organization | Organization administration, API token creation, and access to the native GoodData UI. |
| Data source | Use and administration of a database connection. |
| Workspace | Workspace access, content creation, exports, and other capabilities. |
| Column, metric, visualization, or dashboard | Access to that individual object. |
| User or user group | Who can discover that user or group as a sharing recipient. |
Use organization-level user groups for people who need the same access. Grants belong to the resource even when you assign them from Users & groups.
Workspaces can form parent-child hierarchies. Workspace grants can apply locally or include descendants, and grants on inherited objects follow those objects into child workspaces. See Workspace Hierarchies.
Permission names in this guide
Prefixes such as <workspace>.VIEW and <metric>.VIEW distinguish permissions on different resources. They are documentation notation, not API values. API payloads use names such as "VIEW" without the prefix. <object> means an individual column, metric, visualization, or dashboard.
Object Access Levels
Choose the access level that matches what a recipient needs to do:
| UI access level | Permission | What it allows |
|---|---|---|
| Can view | VIEW | Read and use the object, subject to access to its dependencies. |
| Can view & share | SHARE | Everything in VIEW, plus manage sharing. |
| Can edit & share | EDIT | Everything in SHARE, plus change or delete the object. |
Each level includes the levels below it. You cannot grant a higher level than you hold. For columns, changing or deleting the logical data model still requires <workspace>.MANAGE, even when a user has <column>.EDIT.
An object’s General access setting determines its audience:
- Restricted: Access comes from grants to selected users or groups, including applicable inherited grants.
- All workspace members: A workspace-wide grant provides access without adding each user separately. Its default level is
VIEW.
Grants to individual users or groups can give selected people a higher level. For example, you could let everyone in the workspace view a metric and give a group of its maintainers permission to edit and share it. Administrator access and capabilities such as MANAGE_VISUALIZATIONS still apply to restricted objects.
How Access Is Evaluated
GoodData combines direct grants, group grants, workspace-wide grants, and inherited grants. The highest applicable access level wins. There are no deny rules that override another permission grant. This rule describes permission grants; data filters separately limit the rows available to calculations.
For a non-administrator with workspace access, these grants on a metric produce the following results. Assume no other grants apply:
| Direct user grant | Group grant | Effective metric access |
|---|---|---|
VIEW | EDIT | EDIT |
| Removed | EDIT | EDIT |
VIEW | Removed | VIEW |
Removing one grant removes access only if no other grant or capability still provides it. A child workspace can add access to an inherited object, but cannot narrow access granted by its parent.
For an action to succeed, the user must have:
- Workspace access:
VIEWor a permission that includes it. - Object access: The level needed for the action on the existing object.
- Dependency access: Access to the inputs needed for a calculation, including inputs used by filters and sorting.
- Any additional capability: For example, permission to create a metric, export data, or use an authoring tool.
Access to Dependencies
Sharing an object does not share its dependencies. A dashboard, its visualizations, the metrics they use, and the underlying columns each have their own access settings.
Metrics and visualizations require all the inputs needed to compute their results. GoodData does not remove an inaccessible metric from a chart or skip part of a formula to produce a partial result.
Dashboards can display the content a user can access while showing placeholders for unavailable content. For example, you could create a dashboard that displays sales figures to all its viewers and salary figures only to viewers with access to the required salary data. See Dashboards with Restricted Content.
Permissions in AI and Integrations
The same object access rules apply in the UI, APIs, SDKs, AI Assistant, Smart Search, and the MCP server. Requests use the permissions of the identity making them. An API token uses its account’s current permissions.
An integration authenticated as an administrator has that administrator’s access. To preserve a user’s restrictions, authenticate requests as that user. See Apply Permissions to AI and Integrations.
Permissions and Multitenancy
When serving multiple customers, departments, or other tenants, plan workspace access, content access, and row restrictions together. Set Up Multiple Tenants explains how to organize and reuse analytics across tenants; this guide explains how to grant access to those analytics.
| Your setup | How the controls work together |
|---|---|
| Users share a workspace but need different rows | Grant workspace and object access, then configure user data filters for the relevant users or groups. |
| Tenants use child workspaces with shared content from a parent | Grant access to each tenant’s workspace and inherited content, then configure workspace data filters for tenant-specific rows. |
| Users within a tenant need further row restrictions | Add user data filters for those users or groups within the tenant workspace. |
| Audiences need different analytics, such as subscription-plan features | Grant access to the appropriate objects and their dependencies, alongside any required row filters. |
A workspace hierarchy distributes shared definitions. Configure and verify row restrictions separately; creating a child workspace alone does not select that tenant’s data. Likewise, inheriting a dashboard does not give its audience access to all the visualizations, metrics, and columns it uses.
Use Workspace Hierarchies to choose where grants apply. For a complete example, see Share Analytics Across Tenant Workspaces.
Configure Permissions
| Your task | Guide |
|---|---|
| Manage administrators, data source access, API token creation, or sharing recipients | Manage Administrative Permissions |
| Give users workspace access, enable content creation, configure exports, or change creation defaults | Manage Workspace Permissions |
| Share or restrict content, manage grants through the API, or troubleshoot access | Manage Object Permissions |
| Set up shared and self-service analytics, protect sensitive columns, or serve different tenants and audiences | Permission Configuration Examples |
| Organize tenant workspaces and reuse analytics | Set Up Multiple Tenants |
| Limit rows for particular users or groups | Set Up Data Filters for Users |
| Limit rows in tenant child workspaces | Set Up Data Filters in Workspaces |