Intervengine Docs

Intervengine App


Coaching Tutorials

Experience Building Tutorials

Pre Built Journeys


Intervengine x Sahha


Releases

Book a Demo

Report an Issue

<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)

<aside> 🧑‍⚕️

The Coach Role (Restricted Access)

The RBAC system is built on three simple but powerful concepts that work together to grant access.

Resources (The What)

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 (The Who)

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 (The Link)

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.

How RBAC Works in Practice

The typical workflow for managing access is a straightforward process:

  1. Define your Resources: First, ensure all the features and data areas you want to control are defined as resources.
  2. Create Custom Roles: If needed, create new roles that match the distinct job functions of your users.
  3. Grant Permissions: Connect your roles (both custom and built-in) to the resources they need by creating permissions.

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.