Synchronization Service allows you to ensure that group membership information is in sync in all connected data systems. For example, when provisioning a group object from an Active Directory domain to One Identity Manager domain, you can configure rules to synchronize the Member attribute from the source to the target domain.
This scenario describes how to create a provisioning step for a workflow to synchronize group objects between the source and target systems.
To create a group provisioning step:
- In the Synchronization Service Administration Console, open the Sync Workflows tab, and then click the workflow AD to OneIM Sync.
- Click Add synchronization step.
- On the Select an action dialog box, select Creation, and then click Next.
- On the Specify source and criteria dialog box, click Specify, click Add new connected system or Select existing connected system, and then step through the wizard to add the Active Directory Test AD as a connected system.
- In Specify object type field, click Select and from the Select Object type list, select Group and then click OK.
- In the Provisioning Criteria section, click Add.
- On the Select Container dialog box, from the containers list, select the required container and click OK.
- Click Next.
- On the Specify target dialog box, click Specify.
- Click Add new connected system or Select existing connected system, and then step through the wizard to add the target One Identity Manager domain as a connected system.
- Click Select, to add the required target object type.
- On the Select Object Type dialog box, select the object type UNSGroupB from the list of object types.
- Click Ok.
The Group provisioning step is created.
The Delta processing mode of the Synchronization Service allows you to synchronize identities between the source and the target systems for only the data that has changed in the source and target connected systems since their last synchronization.
This scenario describes how to enable the delta processing mode between the source (Active Directory domain) and target (One Identity Manager) systems.
To enable the delta processing mode:
- Step 1: Create a sync workflow for provisioning data synchronization between the source (Active Directory) and target (One Identity Manager) system.
- Step 2: Add a creating step for the workflow to provision users from the source system to target system.
- Click on the synchronization step for provision of users.
- In the General Options tab, specify the delta process mode:
- Under Source Connected System select the option Process delta from last run.
- Under Target Connected System select the option Process delta from last run.
- Click Save and continue.
NOTE: Before any data has been processed from the source to the target system, the initial synchronization of data is always performed in the Process all delta mode.
- Step 3: Run the configured creating step.
The data for the users added or updated to the source since the previous run, is displayed under Processed Objects.
You can configure synchronization rules for such steps as creating, deprovisioning, or update. Synchronization Service provides a user interface (Synchronization Service Administration Console) that allows you to set up a direct or rules-based synchronization rule without any coding.
However, to set up a script-based synchronization rule, you must develop a Windows PowerShell script that will build values of the target object attributes using values of the source object attributes.
This section provides some reference materials on using the Windows PowerShell Script Host feature and provides the sample script.
Synchronization Service synchronizes data between the source and target objects using the pre-configured synchronization rules.
In the PowerShell scripts used to set up the script-based synchronization rules, you can employ the $srcObj and $dstObj built-in associative arrays (hash tables) that allow the scripts to access the current values of attributes of the source and target objects, respectively. The array keys names are names of the object attributes.
For more information about the use of the associative arrays, refer to Windows PowerShell documentation.
In addition to $srcObj and $dstObj, Synchronization Service defines the $Request built-in hash table. The $Request key names are also names of the object attributes. The $Request hash table contains new values of the target object attributes to which the target object attributes must be set after completing the synchronization process.
To clarify the use of built-in hash tables, let us consider the following scenario: you synchronize between the "mail" attributes of user objects in an LDAP directory (source connected system) and Active Roles (target connected system) using the following synchronization rule: the value of the "mail" attribute in the target connected system must be equal to that in the source connected system concatenated with current date.
For example, before the synchronization process started, the source object had the "mail" attribute: JDoe@mail1.mycompany.com, the target object had the "mail" attribute: JDoe@mail2009.mycompany.com. After the synchronization process completes, the target user will have the following mail: JDoe@mail1.mycompany.com (5 December, 2012) (if you performed the synchronization process on 5 December, 2012.
The following code snippet illustrates the use of built-in hash tables:
#Returns "JDoe@mail1.mycompany.com
$strSourceMail=$srcObj["mail"]
#Returns JDoe@mail2009.mycompany.com
$strTargetMail=$DstObj["mail"]
#Returns JDoe@mail1.mycompany.com (5 January, 2010)
$strNewMail=$Request["mail"]