Memberships, Roles, and Namespaces
What are memberships, roles, and namespaces?​
Memberships are the link between group hierarchy, workspaces, users, teams, and other workloads.
Groups and workspaces represent namespace types, which memberships are associated with. Within a group hierarchy, memberships are inherited by nested groups and workspaces.
Each membership is associated with a role (viewer, deployer, owner) that determines the access level and therefore the capabilities of the membership. A viewer, for example, is a read-only role and therefore cannot modify any data within namespaces. A deployer or higher, however, can modify (create, update, delete) groups, workspaces, service accounts, etc.
Check the FAQ to see if there's already an answer.
Membership types and differences​
-
Tharsis offers three types of memberships:
- User (a human user)
- Team (a collection of human users)
- Service Account (M2M)
While user and team interconnect to represent human users, a service account, on the other hand, is used for Machine to Machine (M2M) authentication like a CI/CD pipeline interfacing with Tharsis.
Membership breakdown​
Non-visual representation​
- Each group and workspace has a membership list.
- A membership list can include users, teams, and service accounts.
- Only a human user (not a service account, etc.) can be a member of a team.
- Making a team a member of a group (or workspace) gives all users who are members of that team access.
Visual representation​
A group can have one or more subgroups and/or workspaces.
A team can also be assigned a role, making the process of access control more streamlined.
Roles and permissions​
-
Tharsis offers three types of roles out-of-the-box:
- Viewer
- Read-only permissions to group or workspace.
- Can view all workspace data except sensitive data like the state file and variables.
- Deployer
- Has all required permissions to configure and deploy modules.
- Can modify (create/update/delete) groups, workspaces, service accounts, etc.
- Can execute plan, apply, and teardown operations.
- Primarily for day-to-day DevOps roles.
- Owner
- Group admin permissions.
- Can manage group memberships and managed identities.
- Sets group/workspace policies.
- Viewer
-
Custom roles
(NOT YET SUPPORTED)
- Useful when default roles are not sufficient.
- Provide a mechanism for assigning granular permissions to roles.
- Can only be created by system admins.
Frequently asked questions (FAQ)​
If multiple memberships are specified for the same subject in a namespace hierarchy, which one takes precedence?​
The first membership found while traversing up the hierarchy will take precedence.
Where can I manage the members for a group or a workspace?​
From the group/workspace details page, select the Members
tab on the left sidebar.