---
title: "User roles and permissions examples"
description: "A \"role\" is nothing more than a collection of permissions. Read this post for a closer look at user roles and permissions and some examples of each."
author: "Alex Olivier"
date: "2024-03-11T23:00:00.000Z"
canonical: "https://www.cerbos.dev/blog/user-roles-and-permissions-examples"
image: "https://stylish-appliance-1c1cc1c30d.media.strapiapp.com/cover_image_7dad67800f.jpg"
tags: ["guide"]
source: "https://www.cerbos.dev/blog/user-roles-and-permissions-examples"
---

# User roles and permissions examples

Role-Based Access Control, or RBAC, is a way of enabling users to access the digital resources they need to perform their job. As the name implies, [roles are created](https://www.cerbos.dev/blog/mapping-business-requirements-to-authorization-policy) by the system administrator that reflect the different responsibilities assigned to user groups, managerial levels and so on.

Each role is then assigned permissions that enable access to the system resources someone in that position or group would require to carry out their responsibilities. When a new person is hired, they are assigned one of these predefined roles. Custom roles may also be created that provide a degree of differentiation within a given user group.

## Some typical examples of user roles and the permissions assigned to them

The following represent examples of user roles and their attendant permissions one might find in a given organization.

* Admin: A user with this role will have full access to system resources. They will be able to add new users, modify global settings, assign and remove permissions and more. They are able to access all digital resources and determine who gets to see and do what.
* Supervisor: Supervisors typically have wide-ranging access to system resources but they may not have permission to create new accounts, delete old accounts or modify global settings.
* User: Users range from those who are able to view but not alter a limited amount of system content, to those who can view, edit, share, download, delete and otherwise manipulate the resources they have permission to access.

## Common permissions

A user role is, in essence, a collection of permissions. Some common examples of permissions include:

* Read: This is one of the most basic permissions and enables the user to read existing content without being able to alter it in any way.
* Create: This enables a user to create a new piece of content that will become part of the company’s digital resources. Once created the file becomes the property of the organization, not the person who created it.
* Edit: This is another very common permission. This enables the user to make changes to existing resources. Typically, however, a user with edit privileges will only be able to edit specific files directly related to their job.
* Delete: This enables the user to delete an organizational resource from the system. As is the case with editing, the ability to delete resources is typically limited to only those files or other resources directly related to the user’s job.

## FAQ

### What are common user roles in software applications?

Common user roles in software applications include:

Admin - Has full access to all resources, can add users, modify settings, and assign/remove permissions.

Supervisor - Has broad access to resources but limited control over user accounts and global settings.

User - Can view, edit, and manage resources relevant to their role but with restricted system-wide access.

Viewer - Has basic read-only access to content, with no permissions to edit or manage resources.

These roles simplify permission management by grouping users based on responsibilities.

### How can I define user permissions effectively?

To define user permissions effectively, start by identifying essential roles and aligning permissions with specific tasks or resources each role needs. Apply the principle of least privilege, granting only the minimum access required. Use role-based models (RBAC) for simplicity or attribute-based models (ABAC) for flexibility. Centralize permissions management to ensure consistency, and regularly review and update permissions to reflect any role or policy changes.

### What tools can assist in managing user roles and permissions?

There are several tools available for for managing user roles and permissions include. One of them is Cerbos. Cerbos provides fine-grained, centralized access control with support for RBAC and ABAC.

It’s essential to select a tool that fits your needs. Look for ones that support fine-grained access control, flexibility between RBAC and ABAC, and centralized policy management for ease of updates. Ensure the tool can scale with your app and integrates seamlessly with your tech stack. Cerbos, for instance, offers robust, scalable access management with both RBAC and ABAC options.
