RBAC

What is Role Based Access Control (RBAC)

The Humanitec Platform Orchestrator allows developers in your team or from across your Organization to collaborate on tasks related to delivering software. Users can be invited to join a Humanitec Organization. They can sign in using one of the supported authentication methods. Users can work on specific Apps with permissions to perform certain actions such as Deploy to Production based on Roles that are granted by Organization Administrators and Managers.

When planning your RBAC strategy it is best practice to follow the “Principle Of Least Privilege” (POLP). The idea is that any user of a system should only have the minimum set of permissions necessary to get their job done.

Role Types

You can set roles in an Organization, Application, or Environment Type.

Organization level roles

Organization Roles cover permissions that affect the entire Organization in Humanitec. This includes User Management, API Tokens, Images, Resources, and Apps.

Role Description
Member Can access Apps they have a Role for.
Artefact Contributor Can fetch hosted registry credentials, list and add image builds and list all applications they have a role for. The “Artefact Contributor” role can only be assigned to service users.
Manager Same as the Member Role. In addition, can invite and remove Users from the Organization in Humanitec and create Apps.
Administrator Has full access to everything within the Organization in Humanitec.

Notes

  • The User who originally created the Organization will have the Administrator Role by default.
  • There must always be at least one User in the Organization with the Administrator Role.
  • The Administrator is the only Role that can update Resources.

Application level roles

Application Roles cover permissions that affect a specific App.

Role Description
Viewer Has read-only access to the App.
Developer Can update Configuration, Shared Values and Secrets, create and delete Environments.
Owner Same as the Developer Role, but can additionally configure Webhooks, invite and remove Users from the App and delete the App.

Example

  • A User with the Developer Role is able to update the configuration for an App the User has access to. But the User cannot delete the App.
  • A User with the Viewer Role will not be able to make updates to the configuration.

Notes

  • The User who originally created the App will have the Owner Role by default.
  • Developer and Owner Roles can only create, delete, or deploy to Environments with the Environment Type they have the Deployer Role for.
  • An Owner will not be able to delete an App unless they have the Deployer Role for all the Environment Types used in the App.

Environment type level roles

At this time, there is only one Role for Environment Types.

Role Description
Deployer If a User has the Developer or Owner Role of an App, they can create, deploy, and delete Environments of this Environment Type.

Notes

  • All Users have the Deployer Role for the default Environment Type development.

Managing access with Roles

Humanitec uses Roles to assign privileges to Users in a system. Roles encapsulate the granular permissions that a User will need in order to perform certain tasks associated with their job. Read more on how to manage User’s Organization, Application, and Environment Type level roles.

Top