Ident_EntraID_Realtime
Sample workflow to provision an Entra ID directory from a DirX Identity target system.
A provisioning workflow transfers the account, group and membership changes that DirX Identity has calculated for a target system into the connected system, and acknowledges the result back into the Identity Store. It is the workflow that executes what privilege resolution has decided: when a user gains or loses a privilege, the resolution writes the resulting account or membership change into the target system subtree of the Identity Store, and this workflow applies that change to the connected system.
The workflow processes single requests as they arrive, so it reflects changes with little delay. Use the corresponding validation workflow to detect changes that were made in the connected system outside of DirX Identity.
Ident_EntraID_Realtime is the provisioning workflow for connected systems of type EntraID. It provisions more than basic accounts and groups: the workflow also carries memberships, owner assignments, service plans, roles and password changes between the Identity Store and the connected directory.
Because tscluster and tsresource are both *, the factory data does not bind the workflow to one fixed target system resource. The owner channel is present on both sides of the mapping, while TS also adds setPassword for password handling.
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 |
|
Category |
Target Realtime / EntraID |
Technology |
Java-based real-time workflow |
LDAP object class |
|
Workflow type |
|
Connected system / controller type |
|
Configuration wizard |
|
Active in the factory data |
FALSE |
Factory data version |
9.0 |
Factory data path |
|
Prerequisites
-
You configure a connected directory of type
EntraIDthat usesEntraIDConnectorand the bind profileApplication. -
You make the
Identity Storeavailable through the bind profileDomain_Adminand theEntraIDconnected directory available through theTSport of the Java-based Server. -
You already have the relevant
EntraIDtarget system subtree in the Identity Store, so the workflow can read the current source state overaccounts,groups,members,owner,plansandroles. -
If you use the
eventport, you provide the JMS environment that matchesjmsprovidertype=MQSERIES.
Workflow and Activities
| Activity | Type | Component description | Description | Ports |
|---|---|---|---|---|
|
|
|
Error Activity |
|
|
|
|
Join activity for the provision-to-TS workflow |
|
Ports
| Activity | Port | Component description | Connector | Connected directory | Bind profile | SSL |
|---|---|---|---|---|---|---|
|
|
|
|
- |
- |
not set |
|
|
|
|
- |
- |
not set |
|
|
|
|
|
|
not set |
|
|
|
|
- |
- |
not set |
|
|
|
|
|
|
not set |
Channels
| Channel | Description | Reference type | Delta type |
|---|---|---|---|
|
Channel for accounts |
OneToOne |
SearchAttributes |
|
Channel for groups |
OneToOne |
SearchAttributes |
|
Channel for members |
OneToOne |
SearchAttributes |
|
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 |
|
Channel for service plans |
OneToOne |
SearchAttributes |
|
Channel for roles |
OneToOne |
SearchAttributes |
| Channel | Description | Reference type | Delta type |
|---|---|---|---|
|
Channel for accounts |
OneToOne |
SearchAttributes |
|
Channel for groups |
OneToOne |
SearchAttributes |
|
Channel for members |
OneToOne |
SearchAttributes |
|
This Channel for owner accounts serves as dummy for corresponding channel on Idenity Store side. Do not change Export Sequence No: 0. |
OneToOne |
SearchAttributes |
|
Channel for service plans |
OneToOne |
SearchAttributes |
|
Channel for roles |
OneToOne |
SearchAttributes |
|
Channel for setting a password |
OneToOne |
SearchAttributes |
Configuration Parameters
| Parameter | Default value |
|---|---|
|
FALSE |
|
P0Y0M4DT0H0M0S |
|
* |
|
* |
| Parameter | Default value |
|---|---|
|
|
|
3 |
|
P0Y0M1DT0H0M0S |
|
P0Y0M0DT2H0M0S |
| Parameter | Default value |
|---|---|
|
dxmPassword |
| Parameter | Default value |
|---|---|
|
EntraID |
|
3 |
|
P0Y0M1DT0H0M0S |
|
P0Y0M0DT0H30M0S |
| Parameter | Default value |
|---|---|
|
event |
|
userPassword |
|
MQSERIES |
|
false |
| Parameter | Default value |
|---|---|
|
userPassword |
| Parameter | Default value |
|---|---|
|
userPassword |
| Parameter | Default value |
|---|---|
|
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 reads the requested state from IdentityDomain and writes the corresponding state to TS. It uses the shared channels accounts, groups, members, owner, plans and roles, and it uses the additional setPassword channel on TS when the request includes password data. The CryptFilter decrypts password before EntraIDConnector receives the request.
If processing fails, join retries the request three times and waits 30 minutes between attempts. If the request still fails, the workflow passes it to error, which sends the notification through Message. The workflow-level timeout keeps the request for up to four days.
Operation
-
You trigger a provisioning request for an
accounts,groups,members,owner,plansorrolesobject in theEntraIDtarget system subtree of the Identity Store. -
You let the Java-based Server pass the request to
join. -
You let
IdentityDomainread the affected state over the matching channel. -
You let
TSapply the change in the connected directory and usesetPasswordif the request contains password data. -
You let the workflow write the result back to the Identity Store, publish the provisioning event through
eventand send the configured notification throughnotify. -
If the request still fails after the configured retries, you let
errorreport the failure throughMessage.
The workflow is delivered inactive (dxmActive is FALSE). Copy it into your own scenario, connect the copy to your connected directory and activate the copy.