Managing Users and Groups (RBAC)

Harness provides Role-Based Access Control (RBAC) via user and group permissions. Users' login access is managed at the user level, and users' account and application permissions are managed via groups.

Here is an overview of Harness RBAC.

Intended Audience

  • DevOps

Default User Groups

Each Harness account includes default user groups to help you organize your users. The following table describes the default Harness user groups.

Default Group

Account Permissions

Application Permissions

Account Administrator

  • Create/Delete Application
  • Manage Users & Groups
  • Manage Template Library
  • Administer Other Account Functions
  • All Permission Types
  • All Applications
  • Actions: create, read, update, delete, execute

Production Support

No Account Permissions

  • Pipelines: All Applications; Filters: Production Pipelines; Actions: create, read, update, delete
  • Services: All Applications; Filters: All Services; Actions: create, read, update, delete
  • Provisioners: All Applications; Filters: All Provisioners; Actions: create, read, update, delete
  • Environments: All Applications; Filters: Production Environments; Actions: create, read, update, delete
  • Workflows: All Applications; Filters: Workflow Templates, Production Workflows; Actions: create, read, update, delete
  • Deployments: All Applications; Filters: Production Environments; Actions: execute, read

Non-Production Support

No Account Permissions

  • Pipelines: All Applications; Filters: Non-Production Pipelines; Actions: create, read, update, delete
  • Services: All Applications; Filters: All Services; Actions: create, read, update, delete
  • Provisioners: All Applications; Filters: All Provisioners; Actions: create, read, update, delete
  • Environments: All Applications; Filters: Non-Production Environments; Actions: create, read, update, delete
  • Workflows: All Applications; Filters: Workflow Templates, Non-Production Workflows; Actions: create, read, update, delete
  • Deployments: All Applications; Filters: Non-Production Environments; Actions: execute, read

To Add Users

The following procedure adds a new user to a Harness account.

To add a user, do the following:

  1. Mouseover Continuous Security, and click Access Management.
  2. Click Users. The Users page appears.
  3. Click Add User. The Add User dialog appears.
  4. Enter the email address(es) that user will use to log into the Harness platform.
  5. If you have User Groups defined, select the User Groups for this user. You can add a user before they are verified. You can also add this user to a group from the group's Add Members dialog when you manage the group.
  6. Click SUBMIT. The user is added. The name provided for the user says user not registered.
    The user will receive a verification email at the address(es) you provided. When the user logs into Harness, the user creates a password and the email address is verified and the user name is updated.
    You can reset the password in the user's information in Users.

To Add a User Group

The following procedure creates a new user group and defines permissions for its users.

To add a user group, do the following:

  1. Mouseover Continuous Security, and click Access Management.
  2. Click User Groups. The User Groups page appears.
  3. Create the User Group.
    1. Click Add User Group. The Add User Group dialog appears.
    2. Enter a name and description for the new user group, and click SUBMIT. The management page for the new group appears.
  4. Add users to a group.
    1. Click Member Users. The Add Members dialog appears.
    2. Click in the text area and select the members for the group, and then click SUBMIT. The Member Users section of the group page is updated with the new members.
  5. Set Account Permissions.
    1. In Account Permissions, enable one or more of the account permissions for this group. For most users, you will enable only the Create/Delete Application permissions. For more information, see Permissions.
  6. Add Application Permissions.
    1. Click Add Permissions. The Add Application Permission dialog appears.
    1. In Permission Type, select the permissions to apply to the group. These are the Harness components you want the group's members to use. For example, if you click Services, you can then use the Filter field to select the services on which the permission will apply. (For details, see Permissions below.)
    2. In Application, select the applications where the permission will apply.
    3. In Filter, select the entities (within the applications you selected in Application) that the group can use.
    4. In Action, select the action(s) you want to authorize the group to perform.
    5. Click SUBMIT. The User Groups page's Application Permissions section is updated.

Permissions

Both sets of Permissions—Account Permissions and Application Permissions—are set on each group. Before setting these permissions, it's important to understand how they interact with each other:

  • Account permissions affect the high-level permissions for the users in a group, such as the ability to add an application, manage users and groups, and manage their account.
  • Application permissions affect the low-level permissions for the users in a group, such as the ability to place Usage Scope on a secret that applies to a specific service.

For most users, you will want to apply Application permissions. Account permissions are primarily for administration.

Permissions Example

A user group might have the Account permission to add an application, but only the Application permission to add services:

Users in this group will be able to create applications and add services to them, but not add environments, workflows, and other entities.

Account Permissions

Account-level permissions are enabled in each User Group page, under Account Permissions.

Account permissions enable the following Harness features:

Account Permission

Details

Create/Delete Application

Create and delete their own applications. For the group to add entities to the application, you must add Application Permissions.

Read Users and Groups

Read-only permission for the Users and User Groups in Access Management.

Manage Users and Groups

Manage all user and groups.

Manage Template Library

Add, edit, and remove templates from the Template Library. See Use Templates.

Administer Other Account Functions

Application settings: Add/edit Application Defaults.

Account settings: Add Account settings, such as Connectors and Cloud Providers, but the group must have the necessary Application Permissions.

Secrets Management: Add secrets for any applications on which the user has the necessary Application Permissions.

Secrets in Delegate Profiles: If you have Administer Other Account Functions enabled, you can use the Scope to Account feature of encrypted text and files secrets, and use those secrets in Delegate Profiles for usernames, passwords, etc. See Using Secrets in a Profile.

Access Management: Single Sign-On (SSO), IP Whitelist, API Keys, set up and enforce Two Factor Authentication, and enforce password strength.

View Audit Trail

View the Audit Trail events. See Audit Trail.

Application Permissions

Application permissions enable the user to perform any activity on an application level. This includes applying Secrets Management and Account settings to specific applications and environments, via Usage Settings.

Restricting Usage

You can restrict who can apply settings—such as Secrets Management and Account settings—to specific application entities. These are set up in the Usage Scope section of the corresponding setting's dialog. For example, here is the Usage Scope section of an Artifact Server dialog:

In this case, the user can add an Artifact Server that may be used by the ExampleApp application, and whatever environment the user selects.

For a user to modify Usage Scope, the user must belong to a group that has read and update Application permissions for the application and entities on which the restrictions are placed.

  1. In Usage Scope, click the drop-down under Applications, and click the name of the application.
  2. In Environments, click the name of the environment.


How did we do?