Validate_EntraID_Realtime

Sample workflow to validate an Entra ID directory against a DirX Identity target system.

A validation workflow compares the content of the connected system with the state that DirX Identity holds for the corresponding target system. It runs in one of two modes, controlled by the mode parameter of the workflow:

  • InitialLoad - exports all accounts and groups and their relationships from the connected system and imports them into the target system subtree of the Identity Store in replace mode. Use this mode when you take a target system into operation.

  • Validation - detects deviations between the state known in DirX Identity and the state in the connected system, for example accounts or groups that were created or deleted outside of DirX Identity, and writes a message about each deviation into the "to do" field (dxrToDo) of the affected target system object.

Both modes update the dxrTSState attribute and the group member attributes of the affected target system objects.

Validate_EntraID_Realtime validates a connected directory of type EntraID against its target system in the Identity Store. You use it when you want the Java-based Server to compare the Microsoft Entra ID view with the DirX Identity view by using the same real-time connector path as provisioning.

The workflow covers the Entra ID object scope that appears on both sides of the configuration: accounts, groups, members, owner, plans, and roles, with setPassword additionally present on the target side. Because dxminitialload is FALSE, the factory definition is positioned as a real-time validation sample rather than as an initial load workflow.

The workflows in this reference are delivered as factory data and are loaded into the Connectivity configuration database during the initial configuration. They are samples: use the Identity Manager to copy a workflow into your own scenario and adapt the copy. Do not change the delivered objects, because a product update can replace them.

At a Glance

Name

Validate_EntraID_Realtime

Category

Target Realtime / EntraID

Technology

Java-based real-time workflow

LDAP object class

dxmIDMWorkflowDefinition

Workflow type

ProvisionTS

Connected system / controller type

EntraID

Configuration wizard

LDAP-EntraID

Active in the factory data

FALSE

Factory data version

9.0

Factory data path

Workflows/Default/Target Realtime/EntraID/Validate_EntraID_Realtime

Prerequisites

  • Create a connected directory of type EntraID with the bind profile Application.

  • Link that connected directory to a target system of type EntraID in the Identity Store.

  • Make sure the Java-based Server can reach the Identity Store through Domain_Admin, the connected directory through EntraIDConnector, and the messaging system used by event.

  • If you keep the factory setting on event, provide the MQSERIES JMS infrastructure expected by that port.

Workflow and Activities

Activity Type Component description Description Ports

error

error

provisioningActivity

Error Activity

Message

join

ProvisionTS

provisioningActivity

Join activity for the provision-to-TS workflow

event, IdentityDomain, notify, ts

Ports

Activity Port Component description Connector Connected directory Bind profile SSL

error

Message

errorPort

ErrorNotifyMailConnector

-

-

not set

join

event

notificationPort

JmsConnector

-

-

not set

join

IdentityDomain

provisioningPort

LdapConnector

Identity Store

Domain_Admin

not set

join

notify

notificationPort

NotifyMailConnector

-

-

not set

join

TS

provisioningPort

EntraIDConnector

EntraID

Application

not set

Channels

Table 1. Channels of port IdentityDomain (activity join)
Channel Description Reference type Delta type

accounts

Channel for accounts

OneToOne

SearchAttributes

groups

Channel for groups

OneToOne

SearchAttributes

members

Channel for members

OneToOne

SearchAttributes

owner

Channel for owner accounts. This channel is for initial import accounts and then use identifier DN to add/remove as owner to/from group.

OneToOne

SearchAttributes

plans

Channel for service plans

OneToOne

SearchAttributes

roles

Channel for roles

OneToOne

SearchAttributes

Table 2. Channels of port TS (activity join)
Channel Description Reference type Delta type

accounts

Channel for accounts

OneToOne

SearchAttributes

groups

Channel for groups

OneToOne

SearchAttributes

members

Channel for members

OneToOne

SearchAttributes

owner

This Channel for owner accounts serves as dummy for corresponding channel on Idenity Store side. Do not change Export Sequence No: 0.

OneToOne

SearchAttributes

plans

Channel for service plans

OneToOne

SearchAttributes

roles

Channel for roles

OneToOne

SearchAttributes

setPassword

Channel for setting a password

OneToOne

SearchAttributes

Filters

Port Filter Description Sequence

TS

CryptFilter

decryption

1

Configuration Parameters

Table 3. Workflow parameters of Validate_EntraID_Realtime
Parameter Default value

dxminitialload

FALSE

timeout

P0Y0M4DT0H0M0S

Table 4. Parameters of activity error
Parameter Default value

resourcefamily

Mail

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT2H0M0S

Table 5. Parameters of port Message (activity error)
Parameter Default value

decrypt.attribute

dxmPassword

Table 6. Parameters of activity join
Parameter Default value

resourcefamily

EntraID

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT0H30M0S

Table 7. Parameters of port event (activity join)
Parameter Default value

appid

event

decrypt.attribute

userPassword

jmsprovidertype

MQSERIES

tgtisjmsclient

false

Table 8. Parameters of port IdentityDomain (activity join)
Parameter Default value

decrypt.attribute

userPassword

Table 9. Parameters of port notify (activity join)
Parameter Default value

decrypt.attribute

userPassword

Table 10. Parameters of port TS (activity join)
Parameter Default value

decrypt.attribute

password

A Java-based real-time workflow runs as a permanently loaded configuration in the Java-based Server (IdS-J). It is triggered by a request or an event rather than by a schedule. Each workflow consists of activities; an activity opens one port per system it talks to, and each port uses a connector to reach that system.

Most provisioning workflows contain a join activity that performs the actual work and an error activity that receives requests which still fail after all retries and sends a notification about them. The retrylimit, waitbeforeretry and timeout parameters of an activity control how often and how long a failed request is retried before it is handed to the error activity.

The event port publishes change events over JMS, and the notify port sends e-mail notifications. Neither port is bound to a connected directory.

The join activity receives validation work on event, reads the DirX Identity side on IdentityDomain, and sends the comparison to TS. The same activity keeps accounts, groups, members, owner, plans, and roles in scope, so it validates both standard and Entra ID-specific relationships in one pass.

notify provides the normal mail notification path. If the validation run fails, the workflow hands control to error, which sends the failure message through Message.

Operation

  1. A validation request reaches join through event.

  2. join reads the relevant entries from IdentityDomain and resolves the corresponding objects in the connected directory on TS.

  3. CryptFilter decrypts the target-side password value before EntraIDConnector sends the target request.

  4. The workflow reports the normal result through notify.

  5. If the comparison or target access fails, the workflow routes the failure to error and sends it through Message.

The workflow is delivered inactive (dxmActive is FALSE). Copy it into your own scenario and adapt it before you enable it.