Skip to main content

Roles and Permission Matrix

Transform has a both primary and secondary roles in the product. Primary roles map to assignments that are given when a user is created in the interface, and secondary roles are roles that are assumed based on certain actions or assignments that come after a primary role designation.

Primary Roles#

Organization Administrator

Organization Administrators have elevated privileges and can take most actions across the Metrics Catalog. Currently, there are only administrative actions available in the Metrics Catalog.

Administrators can change metadata about a metric (without ownership), edit and remove team members, as well as view and update settings around DW credentials. Organization admins cannot edit Team specific objects and settings unless they are also administrators or members of a team.

User

Users can view and interact with most components of the interface but will not be able to take administrative actions, such as editing and managing users. Additionally, they will not be able to change anything about a metric in the UI unless they are explicitly an owner. A user is the default setting for an account that is not an administrator.

Service User (Transform)

The Service User in our system is used by the MQL server to make authenticated requests to our Backend API. It is also often used by customers in automated Github workflows for validating and committing changes to the Transform models. For this reason, the Service User role is only intended to make certain types of requests and doesn't have administrative access to many of the actions an admin can take in the UI.

Note: A service user has a limited set of privileges and is a role administrators don't need to assign, so we've left it out of the matrix below. Additionally, this user is not the same as the service user you create in your data warehouse to access Transform schemas; this is specific to the Transform permissions system.

Secondary Roles#

Team Administrator Team administrators can be either users or organization administrators. A person with an account in Transform can become a Team Admin by creating a team. Team Admins can take high-level actions around their team settings and on team pages.

Metric Owners Metric owners can be Teams (a set of users) or individual Users. These assignments must be designated through the Framework or User interface. Metric Owners can take high-level actions around the metric description, approval, and ownership of a given metric. Note: We've left metric owners out of the matrix and denoted where metric ownership matters by indicating how a user's permissions change based on ownership.

Permissions Matrix#

ActionOrganization AdminstratorUsersTeam Admins
Settings - Edit/Add Users to TransformX--
Settings - Edit/Add Users to TeamX-X
Settings - Create New TeamXXNA
Settings - Edit DW CredentialsX--
Settings - Edit/Add/Remove MQL ServerX--
Settings - Create API Keys for oneselfXXNA
Settings - View MQL Query LogsXXNA
Metric Page - View Lineage, Edit Chart, Save Query, Annotate, Ask QuestionXXNA
Metric Page - Edit Metric DescriptionXIf User Owns metric or is on Team that owns metricIf Team is Owner
Export CSVXXNA
Share MetricXXNA
Edit/Delete AnnotationXIf User authored AnnotationNA
Edit/Delete QuestionIf Admin authoredIf User authoredNA
Edit/Delete Saved QueryIf Admin authoredIf User authoredNA
Metric Page - Approve MetricXIf User Owns metric or is on Team that owns metricIf Team is Owner
Metric Page - Edit OwnersXIf User Owns metric or is on Team that owns metricIf Team is Owner
Collections - Create CollectionXXNA
Collections - Edit CollectionIf Admin owns Collection is or on Team that owns CollectionIf User owns Collection or is on a team that owns CollectionIf Team is Owner of Collection
Collections - View All CollectionsXXNA
Team Page - Edit TeamIf Admin on TeamIf User is on TeamX
Team Page - Add MetricsIf Admin on TeamIf User is on TeamX
Team Page - Add CollectionsIf Admin on TeamIf User is on TeamX
Team Page - Add Saved QueriesIf Admin on TeamIf User is on TeamX
CLI - Run MQL QueryXXNA
CLI - Commit Configs to TransformXXNA