Understanding Groups
Groups are collections of users (and other groups) that can be granted permissions on resources. When you add a user to a group, they automatically inherit all permissions assigned to that group.Group Roles
Role | Capabilities |
---|---|
Admin | Manage group membership, add/remove members, change roles, manage settings |
Member | Standard group membership for permission inheritance |
Nested Groups
Groups can contain other groups as members:Creating and Managing Groups
Administrators can create groups through the Admin Portal or API:- Provide a unique group name within your organization
- Add a description explaining the group’s purpose
- Add initial members (users or other groups)
- Assign member roles (admin or member)
Member Identifiers
Members are identified using theuserGroupId
format:
- For users:
user:{email}
(e.g.,user:alice@company.com
) - For groups:
group:{groupName}
(e.g.,group:backend-team
)
Assigning Permissions to Groups
Organization Permissions
Roles:admin
, modeler
, member
admin
: Full organization control, can create projects/workspaces/groups, manage all settingsmodeler
: Can create and manage packages across the organizationmember
: Basic membership, typically used with more specific project/workspace permissions
Project Permissions
Roles:admin
, modeler
, viewer
admin
: Full project control, manage connections and all packagesmodeler
: Create/update packages, use connections, manage versionsviewer
: Run queries, view model source code, read-only access
Package Permissions
Roles:admin
, modeler
, viewer
Package-level roles are typically inherited from project permissions, but can be set explicitly for fine-grained control.
Workspace Permissions
Roles:manager
, viewer
manager
: Manage workspace, members, create/edit all documentsviewer
: View workspace and documents, run queries, duplicate for personal exploration
Document Permissions
Roles:editor
, viewer
Document-level roles are typically inherited from workspace permissions, but can be set explicitly.
Permission Inheritance
Permissions flow down through the resource hierarchy:- Organization admins become admins of all projects and managers of all workspaces
- Project admins become admins of all packages in that project
- Workspace managers become editors of all documents in that workspace
Common Permission Patterns
Team-Based Project Access
A data engineering team owns a project and its semantic models.- Create
data-engineering
group with team members - Grant
modeler
permission on theanalytics-project
- Grant
manager
permission on adata-eng-workspace
Cross-Functional Analytics
Business analysts query models but don’t modify them.- Create
business-analysts
group - Grant
viewer
permission on multiple projects (sales, marketing) - Grant
manager
permission on ananalyst-workspace
Executive Dashboard Access
Executives need view-only access to specific reports.- Create
executives
group - Grant
viewer
permission on specific documents (e.g., executive dashboard)
Nested Group Hierarchy
Large organization with multiple engineering teams.- Create
engineering
parent group - Create sub-groups (
backend-team
,frontend-team
) - Add sub-groups to parent
engineering
group - Grant
viewer
permission onapp-analytics
to parent group
Workspace-Package Attachment
Workspaces can be attached to packages, granting workspace members access to query those packages without granting project-level permissions. Use case: You have a workspace for marketing analysis, and you want to give marketers access to the sales models without giving them access to the entire sales project. How it works:- A package permission is created with the workspace as the target
- All workspace members can query the package
- Workspace members don’t gain access to other packages or database connections
marketing-workspace
to sales-models
package allows marketing workspace members to query sales models without seeing the entire sales project.
Requesting Access
Users can request access to resources they discover but don’t have permission to use.- User finds a resource they need
- User submits an access request, specifying the desired role
- Resource administrators receive the request notification
- Admin reviews and approves/denies
- If approved, user gains the specified role
Viewing Permissions
Administrators can:- List all permissions on a specific resource
- Check permission details (role, when granted, message)
- View inherited permissions to understand the full chain
- Verify admin status on resources
Best Practices
Use Groups, Not Individual Users- Easier onboarding (add to group)
- Easier offboarding (remove from group)
- Simpler auditing (view group membership)
- Efficient permission changes (change group’s role once)
data-engineering
- modelers who build semantic modelsbusiness-analysts
- analysts who query modelsexecutives
- leadership who view dashboardsplatform-admins
- infrastructure and admin team
- Most users should be
viewer
on projects - Only modelers need
modeler
on projects - Only a few trusted users need
admin
- Create a workspace for their team
- Attach specific packages to that workspace
- Gives them query access without project-level permissions