Provision Users and Groups using Azure AD (SCIM)

Updated 1 week ago by Rashmi Nanda Sahoo

System for Cross-Domain Identity Management (SCIM) is an open standard protocol for the automation of user provisioning.

Automatic provisioning refers to creating users and user groups in Harness. In addition to creating these, automatic provisioning includes the maintenance and removal of users and user groups as and when required.

This topic explains how to configure Azure Active Directory (Azure AD) to automatically provision users or groups to Harness.

In this topic:

Before You Begin

Review: Harness Azure AD SCIM Integration

By using Azure AD as your identity provider, you can efficiently provision and manage users in your Harness Account, Org and Project. Harness' SCIM integration enables Azure AD to serve as a single identity manager, for adding and removing users, and for provisioning User Groups. This is especially efficient for managing many users.

In exchange for the convenience of Azure AD-provisioned users and groups, you must configure several aspects of Azure AD, as described in the following sections. You will also have restrictions on modifying Azure AD-provisioned users and groups natively within Harness, as described in Limitations.

Features Supported

Once you have set up the SCIM integration between Azure AD and Harness (as described below), Administrators will be able to perform the following Harness actions within Azure AD:

  • Create users, individually, in your Harness app.
  • Assign Azure AD-defined groups to your Harness app.
  • Group push already-assigned groups to Harness.
  • Update User Attributes from Azure AD to Harness.
  • Deactivate Users in Azure AD and Harness.

Limitations

This integration does not support updating a configured user's Primary email or Username in Azure AD. (However, you can freely update the Display name field.)

When you provision Harness User Groups and users from Azure AD, you will not be able to modify some of their attributes in Harness Manager. You must do so in Azure AD.

Operations that you cannot perform on Azure AD-provisioned User Groups within Harness Manager are:

  • Managing users within the User Group.
  • Adding users to the User Group.
  • Removing users from the User Group.
  • Renaming the User Group.
  • Deleting the User Group.

If a User Group provisioned from Azure AD duplicates the name of an existing Harness User Group, Harness will maintain both groups. To prevent confusion, you are free to rename the native User Group (but not the Azure AD-provisioned group).

Where a User Group has been provisioned from Azure AD, you cannot use Harness Manager to edit the member users' details (Email AddressFull Name, or User Groups assignments).

You must use Azure AD to assign these users to other User Groups (to grant corresponding permissions). You must also use Azure AD to delete these users from Harness, by removing them from the corresponding Azure AD app.

When you use Azure AD to directly assign users to Harness, those users initially have no User Group assignments in Harness. With this method, you are free to use Harness Manager to add and modify User Group assignments.

Before you configure Harness for automatic user provisioning with Azure AD, you need to add Harness from the Azure AD application gallery to your list of managed SaaS applications.

  1. In the Azure portal, in the left pane, select Azure Active Directory.
  2. Select Enterprise applications > All applications.
  3. Click New application to add a new application.
  4. In the search box, enter Harness, select Harness in the results list, and then select the Add button to add the application. You can now provision users to Harness.

Step 2: Provision Users to Harness

  1. In your Azure portal, go to Enterprise Applications > All applications.
  2. In the applications list, select Harness.
  3. Select Provisioning.
  4. In the Provisioning Mode drop-down list, select Automatic.
  5. Under Admin Credentials, do the following:
    1. In the Tenant URL box, enter https://app.harness.io/gateway/ng/api/scim/account/<your_harness_account_ID>.
      You can obtain your Harness account ID from the Account Overview of your Harness account.
    2. In the Secret Token box, enter the SCIM Authentication Token value. This is your Harness API token within your API Key. Make sure this key's permissions are inherited from the Account Administrator User Group.
      For more information on how to create API token, see Add and Manage API Keys.
    3. Select Test Connection to ensure that Azure AD can connect to Harness.
      If the connection fails, ensure that your Harness account has Admin permissions, and then try again.
  6. In Settings, in the Notification Email box, enter the email address of a person or group that should receive the provisioning error notifications.
  7. Select Save.
  8. Under Mappings, enable Provision Azure Active Directory Groups, and Provision Azure Active Directory Users.
  9. Click Provision Azure Active Directory Users.
  10. Under Attribute Mappings, review the user attributes that are synchronized from Azure AD to Harness. The attributes selected as Matching are used to match the user accounts in Harness for update operations. Select Save to commit any changes.
  11. In Provisioning, click Provision Azure Active Directory Groups.
  12. Under Attribute Mappings, review the group attributes that are synchronized from Azure AD to Harness. The attributes selected as Matching properties are used to match the groups in Harness for update operations. Select Save to commit any changes.
  13. To configure scoping filters, see Attribute-based application provisioning with scoping filters.
  14. In Provisioning, under Settings, to enable the Azure AD provisioning service for Harness, toggle the Provisioning Status switch to On.
  15. Under Settings, in the Scope drop-down list, select how you want to sync the users or groups that you're provisioning to Harness.
  16. Click Save.

This operation starts the initial sync of the users or groups you're provisioning. The initial sync takes longer to perform than later ones. Syncs occur approximately every 40 minutes, as long as the Azure AD provisioning service is running. To monitor progress, go to the Synchronization Details section. You can also follow links to a provisioning activity report, which describes all actions performed by the Azure AD provisioning service on Harness.

For more information about how to read the Azure AD provisioning logs, see Report on automatic user account provisioning.

Copy Groups

When you provision groups using Azure AD, they get added to your Account scope. To add them to your Org or Project scope, use the Copy option. This copies the specified group to the desired scope.

Any modifications you make to this User Group through SCIM are reflected in the User Groups in the Account scope as well as all other scopes where it has been copied.

Here is an example to copy a group from the Account scope to Organization scope:

In Harness, go to Account Settings->Access Control. Click User Groups.

Click more options () next to the User Group you want to copy.

Click Copy. The Copy group settings appear.

Select the Organization where you want this User Group to be copied.

To copy User Group to Projects within the scope of this Organization, click Copy to project(s) and then select Projects.

At any one moment, you can copy a User Group to a single Organization and numerous Projects.

Click Save.

The User Group and its members are copied to the selected Organization.

If you click Copy to project(s), the User Group is copied only to the selected projects and not the Organization.


Please Provide Feedback