Roles & Permissions
Learn about the different roles and permissions you can assign to your team members in ZenML Pro.
ZenML Pro offers a robust role-based access control (RBAC) system to manage permissions across your organization and tenants. This guide will help you understand the different roles available, how to assign them, and how to create custom roles tailored to your team's needs.
Please note that roles can be assigned to both individual users and teams.
Organization-Level Roles
At the organization level, ZenML Pro provides three predefined roles:
Org Admin
Full control over the organization
Can add members, create and update tenants
Can manage billing information
Can assign roles to other members
Org Editor
Can manage tenants and teams
Cannot access subscription information
Cannot delete the organization
Org Viewer
Can view tenants within the organization
Read-only permissions
To assign organization roles:
Navigate to the Organization settings page
Click on the "Members" tab. Here you can update roles for existing members.
Use the "Add members" button to add new members
Some points to note:
In addition to adding organization roles, you might also want to add tenant roles for people who you want to have access to a specific tenant.
An organization admin can add themselves to a tenant with any tenant role they desire.
However, an organization editor and viewer cannot add themselves to existing tenants that they are not a part of. They won't be able to view such tenants in the organization either.
Currently, you cannot create custom organization roles via the ZenML Pro dashboard. However, this is possible via the ZenML Pro API.
Tenant-Level Roles
Tenant roles determine a user's permissions within a specific ZenML tenant. There are predefined roles available, and you can also create custom roles for more granular control.
Predefined Tenant Roles
Admin
Full control over the tenant
Can create, read, update, and delete all resources
Editor
Can create, read, and share resources
Cannot modify or delete existing resources
Viewer
Read-only access to all resources and information
Custom Roles
Custom roles allow you to define specific permissions for users or groups. To create a custom role for a tenant:
Go to the tenant settings page
Click on "Roles" in the left sidebar and Select "Add Custom Role"
Provide a name and description for the role. Choose a base role from which to inherit permissions
Edit permissions as needed
A custom role allows you to set permissions for various resources, including:
Artifacts
Models
Model Versions
Pipelines
Runs
Stacks
Components
Secrets
Service Connectors
For each resource, you can define the following permissions:
Create
Read
Update
Delete
Share
You can then assign this role to a user or a team on the "Members" page.
Managing permissions for roles
To manage permissions for a role:
Go to the Roles page in tenant settings
Select the role you want to modify
Click on "Edit Permissions"
Adjust permissions for each resource type as needed
Sharing individual resources
While roles define permission on broad resource groups, users can also share individual resources through the dashboard like this:
Best Practices
Least Privilege: Assign the minimum necessary permissions to each role.
Regular Audits: Periodically review and update role assignments and permissions.
Use Custom Roles: Create custom roles for teams or projects with specific needs.
Document Roles: Maintain documentation of your custom roles and their intended use.
By leveraging ZenML Pro's role-based access control, you can ensure that your team members have the right level of access to resources, maintaining security while enabling collaboration across your MLOps projects.
Last updated