<aside> ☝
Role-Based Access Control (RBAC) is the system used to manage what users can see and do within the platform. Its primary purpose is to ensure users only have access to the information and tools necessary for their roles, enhancing security and simplifying user management.
</aside>
Think of it like a modern office keycard system 🔑. Your job title (your Role) determines which doors (the Resources) your keycard (your Permissions) can open.
Here is how our pre-existing roles work as an example:
<aside> 🧑🔧
The Admin Role (Full Access)
participants.*, journeys.*, webhooks.*, etc.).<aside> 🧑⚕️
The Coach Role (Restricted Access)
participants.*, journeys.*, and groups.*.webhooks.* or extras.*.The RBAC system is built on three simple but powerful concepts that work together to grant access.
Resources are the features, data, or areas of the platform that you want to control access to. A resource is a clearly defined part of the system, such as webhooks.*, journeys.*, or participants.read.
Roles are like job titles that represent a group of users with similar access needs. Instead of assigning permissions to each person one by one, you assign them a Role, like the built-in 'Admin' or 'Coach'. A user can have multiple roles.
Permissions are the crucial link that connects a Role to a Resource. Creating a permission is the action of granting a specific role access to a specific resource. Permissions can also have an expiry date (Valid Until) for granting temporary access.
The typical workflow for managing access is a straightforward process:
Once set up, you can manage a user's access simply by assigning or removing roles from their profile, and the system will handle the rest.