Synchronizing users using Azure AD

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Security definition > Work Portal Security > Synchronizing users > Synchronizing users using SCIM's REST methods >

Synchronizing users using Azure AD

Overview

Integration between cloud-based applications demands a robust administration of identities for their authentication. Apart from the authentication protocols you may use, it is important to centralize the information of users to ease identity management and reduce the redundancy of information.

 

Active Directories have been a common approach to centralize information of users within organizations. However, a variety of cloud-based applications has exposed a challenge at managing identities when applications are run in different domains.

 

Bizagi now offers an integration with Azure AD using the System for Cross-domain Identity Management protocol (SCIM). This protocol provides a REST API that lets Azure AD Administrators managing user identities in Bizagi and be able to Create, Read, or Delete users in the WFUser table through this service. This integration permits centralization of user administration without third-party applications, reducing failure points, and increasing the governance of multiple cloud-based applications used in organizations. The protocol relies on commercial authentication, authorization, and privacy models, which makes this integration flexible for our Bizagi cloud-offer customers.

 

Prerequisites

User synchronization using SCIM is only available for Bizagi projects using Automation Service (cloud) or  Automation server (on-premises) using an SQL database.

 

Bizagi Configuration

SCIM relies on the OAuth 2.0 protocol to authenticate Bizagi as a trustworthy application in Azure AD. Therefore you need to create a Bearer Token from the Bizagi Work Portal. Bear in mind that you need to generate this token for each environment where user synchronization between Azure AD and Bizagi is needed.

 

Bearer Token Generation

Open the Work Portal as a user with permissions to manage OAuth 2.0 Applications. Click the Admin menu and then open OAuth 2.0 Applications:

 

SCIM1

 

Add a new Application clicking the add button, then create an application with the following properties

Grant type: Bearer token

Allowed scope: API and USER SYNC

 

SCIM2

 

You can copy the Client Secret as your token.

 

SCIM3

 

Azure AD Configuration

Prerequisites

Your Azure AD tenant

You need a user with permission to configure Azure AD like Application administrator, Cloud Application administrator, Application Owner or Global Administrator. .

 

Provisioning

1. Open the Azure Portal as the administrator, and access your Azure Active Directory.

2. Add a New Application.

 

SCIM4

 

Browse Bizagi and select Bizagi Studio for Process Automation.

 

SCIM9

 

3. Give your application a name and click create.

 

SCIM10

 

4. Access the Manage menu and click Provisioning.

5. Select Automatic Provisioning Mode.

6. Register the following Admin Credentials

 

Tenant URL: Enter the Bizagi SCIM endpoint with this structure:

 [Your_Bizagi_Project]/scim/v2/

 Example: https://my-company.bizagi.com/scim/v2/ 

Secret token: The Client Secret, as the Bearer Token,  generated in OAuth 2.0 Applications in the Bizagi Work Portal.

 

SCIM11

 

7. Click Test Connection and wait for a confirmation message.

8. Register the Notification Email a person or group who will receive error notifications. Make sure the check-box Send an email notification when a failure occurs is selected. Finally click Save.

 

Attribute Mapping

You need to configure the mapping of user attributes between Azure AD and the WFUser table. To do that Open the Edit attribute mappings options in the Provisioning module:

 

SCIM13

 

Click the Provisioning Azure Active Directory Users.

 

SCIM15

 

Then delete all the default attributes, and leave the following attributes:

 

Azure AD Attribute

CustomAppsSO Attribute

Observations

userPrincipalName

userName

User domain cannot exceed 25 characters, otherwise the user is not synchronized.

Switch([IsSoftDeleted], , "False", "True", "True", "False")

active

A non active user is considered as a non existent user. Therefore is not synchronized.

userPrincipalName

emails[type eq "work"].value

This is a mandatory field.

givenName

name.givenName

This is a mandatory field.

surname

name.familyName

 

Join(" ", [givenName], [surname])

name.formatted

 

mobile

phoneNumbers[type eq "work"].value

 

 

The configuration looks as follows:

 

SCIM16

 

You can also set the email as the Unique Identifier (UserName in Bizagi) when synchronizing users:

 

EnterpriseApp_15

 

note_pin

Using the user.mail as the Unique Identifier can be useful when you use the SSO configuration using the Bizagi Enterprise Application. See Using Bizagi Enterprise Application in Azure.

 

Custom User Properties

You can also map the custom user properties configured in Bizagi. To do that select the Show advanced options checkbox and click Edit attribute list for Bizagi.

 

SCIM17

 

each custom property must be preceded by the following prefix:

 

urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties:

 

For example, if a user property is called IdentificationNumber the attribute must be added as follows:

 

urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties:IdentificationNumber

 

SCIM18

 

For further information about mapping customizations click here.

 

note_pin

In custom user property mapping, only basic type properties can be mapped, for example, strings, int, boolean, or date The properties linked to parametric tables or to Multiple types are not supported.

 

Select the synchronization Scope, you can either choose the all users of the directory or users included within the Enterprise application's Users and groups.

 

SCIM20

 

Enabling the synchronization

To enable the synchronization of users to Bizagi you must open the Provisioning options and switch on the Provisioning status and click Save.

 

SCIM19

 

After saving Azure AD starts the initial user synchronization based on your scope. This lasts longer than subsequent cycles because is the first user synchronization.

 

Monitoring your user synchronization

Azure provides logs and tools to monitor user synchronization to Bizagi.  You have the following options

 

Progress Bar

You can review the provisioning progress bar:

 

SCIM23

 

Audit logs

See the audit log of the provisioning options:

 

SCIM24

 

Provisioning Logs

You can review the Azure AD provisioning logs. For further information click here.

 

SCIM22

 

Considerations

Groups and roles synchronization is not supported

To deactivate users, you need to UPDATE the user information and set the Active attribute as false.