![]() |
|
|||||||||||||||
|
||||||||||||||||
|
| User Data Importing and Synchronization Utility for IBM Tivoli Security Products | ||||
This article introduces the user data importing and synchronization utility for IBM / Tivoli security products developed using IBM Directory Integrator 5.1.2 as the application framework. Introduction IBM Tivoli Identity Manager is a product for managing user and account definitions. By controlling account definitions on systems, it allows a company to control which systems a user can access. IBM Tivoli Access Manager is an access control product. It enforces access control policy to prevent unauthorized access to protected resources. Access Manager can be used to protect access to many types of system resources - from individual files to Web sites. The Identity Manager and Access Manager products complement each other. While Identity Manager controls which user accounts may exist on a system, Access Manager controls the operations that a user is authorized to undertake on the system. In order to do these tasks, both products maintain registries of users. The products enforce user access and authorization policy for the users defined in their registries. After installing Identity Manager, its user registry must be populated so it can manage system access for those users. Because Identity Manager manages the user definitions in Access Manager, Identity Manager can populate the Access Manager user registry. A technique for the initial population of the Identity Manager user registry is one of the topics of this paper. After Identity Manager and Access Manager are both deployed, and their respective user registries are both populated, there might be an ongoing need to update the values of the user attributes in Access Manager as they are modified in Identity Manager. This paper will describe a technique for management, or synchronization, of Access Manager user attributes from Identity Manager.
User Data Importing and Synchronization utility
Directory Integrator is a data migration and synchronization product with built-in support for many registries and data sources on many different platforms. It is an ideal tool for this type of integration solution. The reader should be familiar with the high-level concepts in the Access Manager and Identity Manager products in order to understand the solutions described. High-Level Overview After Access Manager and Identity Manager are installed, configured, and populated with user definitions, the value of some user attributes will inevitably change. Identity Manager provides a rich set of features for updating user attribute values. Since Access Manager can be configured to use the value of user attributes when making authorization decisions, the values changed in the Identity Manager user registry must be updated in the Access Manager user registry too. This update will ensure that Access Manager’s authorization decision is based on the correct values. The Access Manager user registry can be kept up to date by using a Directory Integrator-based synchronization tool that updates the Access Manager user registry with values from the Identity Manager user registry. Customer Scenarios Access Manager is deployed and all the customer’s user definitions have already been created in the Access Manager user registry. Now Identity Manager is installed. In this situation, the Identity Manager administrator would like to import the user data already defined in the Access Manager user registry to the Identity Manager user registry, so Identity Manager is the central location for user management. To import the users in the Access Manager user registry to Identity Manager, the administrator can use either the TAMtoTIMImport or MDTAMtoTIMImport tasks. Use TAMtoTIMImport for an Access Manager deployment with a single domain or MDTAMtoTIMImport for an Access Manager deployment with multiple domains. After the Identity Manager users are created, the Identity Manager administrator can do a reconciliation of the Access Manager service in Identity Manager to create the matched Access Manager accounts in Identity Manager. The Identity Manager reconciliation feature imports accounts from the agent to the server. The accounts are assigned to Identity Manager users based on the value of the alias user attribute. The value of alias must match the imported account name. Because the TAMtoTIMImport and MDTAMtoTIMImport tasks will set the Identity Manager user’s alias attribute, the ownership of the reconciled Access Manager accounts will be automatically determined 2. User definitions exist in a corporate repositoryNeither Access Manager nor Identity Manger is installed. The company has all its user definitions in a corporate directory for use by other applications. Now they install both Identity Manager and Access Manager. In this situation, the Identity Manager administrator would like to import the user definitions from the corporate directory into Identity Manager. The administrator can use the DirectorytoTIMImport task to import the existing user definitions from the directory to Identity Manager. Identity Manager can be configured so that the imported users are provisioned with an Access Manager account. After the provisioning occurs, both the Identity Manager and Access Manager user registries will be fully populated. 3. Synchronize Access Manager user defintionsBoth Access Manager and Identity Manager are deployed and being used. Some authorization policy, which uses the value of several Access Manager user attributes, has been defined in Access Manager. Identity Manager interfaces are being used to manage the attributes of Identity Manager users. Because user attributes are being updated in the Identity Manager user registry, but not in the Access Manager user registry, Access Manager does not have the correct value of user attributes when making authorization decisions. The TIMtoTAMSync task can be used in this situation to update the Access Manager user registry with changes made in the Identity Manager user registry. DSMLv2 enhancement in Identity Manager 4.5 and Directory Integrator 5.1.2
Configuration files, AssemblyLines, Connectors and work mode
Customer environment settings
Registry supported These utilities have been made as automated as possible. For example, when retrieving user data from Access Manager, an extra connector is used to find the Access Manager user index first and then a second connector retrieves the attributes. This way, user input for the search base is not required. In synchronization, monitoring the changelog ensures that the connector automatically detects all the Identity Manager user attribute changes. Performance Security Concerns
2.Enable SSL between the directory and Directory Integrator.
3.Enable SSL between Directory Integrator and Identity Manager. TAMtoTIMImport.xml This AssemblyLine retrieves Access Manager user data from LDAP registries, like IBM Directory, Sun ONE (formerly iPlanet) Directory, and so on. The first connector works in Iterator mode. It searches the cn=users entry under secAuthority=Default. The search filter is defined as objectClass=secMap. Each returned record contains the secdn attribute, which is the user's dn that Access Manager recognizes. With the secdn attribute obtained from the first connector, the second connector works in lookup mode and searches the dn matching the secdn. If found, it retrieves cn, sn, uid, and other attributes. During this process, it uses the “ After Lookupâ€_ user exit feature of Directory Integrator to run a JavaScript in order to exclude the Security Master user: Code sample: Exclude the Security Master from the TAM users
This JavaScript can be modified to exclude more specific users, so that modification of any of these Access Manager super users. The third connector, as is common in the other AssemblyLines, is for Identity Manager importing. This connector is a JNDI connector and works in AddOnly mode. The details for using the DSMLv2 support in Identity Manager 4.5, including the JNDI connector settings can be found in the Identity Manager 4.5 Policy and Organization Administration Guide. This connector takes the work attributes from the previous connectors and maps them to the following Identity Manager attributes: cn, sn, objectClass, displayName, givenName, uid, erAliases. The first three are Identity Manager required attributes. An Identity Manager user cannot be created if any of them are missing. The Identity Manager or Access Manager administrator can also provide a customized attribute mapping schema or the administrator can modify the current mappings, which can be done through the Directory Integrator admin tool. The erAliases is a multi-value variable, which is mapped from the Access Manager uid and cn. This attribute is for Access Manager account reconciliation after the Identity Manager person is created. AssemblyLine: ADImportThis AssemblyLine retrieves Access Manager user data from the Active Directory registry. Currently, only the Active Directory in the Windows 2000 server is supported by Access Manager. Similar to the previous AssemblyLine, the first connector, FindADTAMUsers, works in Iterator mode and searches all the Access Manager users from Active Directory in the customer domain. The administrator needs to provide the active directory domain name for the search base. With the domain name as “domain_nameâ€_, the search base is: cn=Users,cn=default,cn=tivoli pd domains,dc=domain_name,dc=com The search filter is: objectCategory=cn=urafuser,cn=schema,cn=configuration,dc=domain_name,dc=com Each returned record contains the urafregistryUID attribute, which is the user’s dn in Access Manager. Then the second connector GetADTAMUsers looks up the directory to find the dn that equals the urafregistryUID and retrieves the user attributes for importing into Identity Manager. Also, if the dn being searched is “sec_masterâ€_ or “ivmgrd-masterâ€_, the entry is skipped. The third connector in this AssemblyLine is for Identity Manager importing, which is the same as in the previous AssemblyLine. AssemblyLine: DominoImportThis AssemblyLine retrieves Access Manager user data from a Domino server directory. The first and the second connectors in this AssemblyLine are Lotus Notes connectors, which interact with the Domino directory through the local Notes client. The first connector searches the PDMdata.nsf database on the Domino server and the database view is set to URAF User Objects. Each returned record contains the UserID attribute, which represents an Access Manager user. The second connector looks in the names.nsf database in the Domino directory to find the ShortName matching the UserID obtained from the previous connector. When found, the connector retrieves the First name, Last name, and so on, as the input working attributes for the AssemblyLine. In order to avoid modification of the Access Manager administrator accounts, a JavaScript filter is used to exclude the Access Manager administrator. The third connector is for Identity Manager importing, which is the same as in the previous AssemblyLine. MDTAMtoTIMImport.xml The first connector searches the cn=Subdomains under secauthority=default. The search filter is secmap. The cn=Users is further checked from each returned object dn. If “cn=Usersâ€_ is not found, the entry is skipped. Also, if the dn is the Security Master, the record is skipped. The final records returned from this connector include Access Manager users from all the domains. If you do not want to import from all the domains, the Java Script under hooks can be modified to exclude those unwanted domains. After the search in multi-domains, the second and third connectors work the same way as in the single domain AssemblyLine. DirectorytoTIMImport.xml Because user attributes in each corporate registry might be very different, the utility sample provided is very basic. It retrieves only cn, sn, and uid attributes, maps them to the corresponding Identity Manager user attributes for Identity Manager user creation. More attributes can be easily added by modifying the Input Map and Output Map of the connectors in the AssemblyLine. The connectors in each AssemblyLine are very similar to TAMtoTIMImport.xml. However, the search base has to be manually defined. TIMtoTAMSync.xml One thing to note about this task is that it presumes that its users understand how the Identity Manager and Access Manager user registries are organized. This task has been developed to work with Identity Manager 4.5 and Access Manager 4.1 or 5.1. Future releases of these products may change how they organize their user registries, thereby requiring modification of this task in order for it to continue working. AssemblyLine: synctambychangelog Starting from the last change number defined in the TIMtoTAMSyncExit file, the first connector reads the changelogs. The last change number is updated each time the AssemblyLine is run. The first task for this connector is to filter out the non-Identity Manager user changes. Each LDAP changelog contains a targetdn, which is the dn of the changed entry. If this dn starts with "ERGLOBALID or "ergloblid", it is the Identity Manager user changes. If not, the change log is skipped. Working in Lookup mode, the second connector searches Access Manager accounts under the Identity Manager directory suffix. Each Access Manager account has an owner who is an Identity Manager user. The AssemblyLine’s task is to find those Access Manager account owners who were found in the previous connector. The connector does this by comparing the “ erprentâ€_ attribute in each Access Manager account to find one that equals the “targetdnâ€_ attribute found in the previous connector. If they are matched, both the Access Manager account and its owner, who is an Identity Manager user with his user attributes changed, are located. Also, the Access Manager account’s attribute, ertamdn, is retrieved which is the correspondent Access Manager user dn. Now we have the Identity Manager user’s dn and the Access Manager user’s dn. This connector is a key connector. The third connector now looks up the Identity Manager dn, which is equal to the “erparentâ€_ working attribute and, retrieves the user attributes to add to the working attributes. The retrieved attributes are those business and personal attributes defined such as postal address, telephone number, and so on. After this, the last connector works in Update mode. It looks up the Access Manager dn that matches the “ertamdnâ€_ attribute found in the second connector. The connector defines the maps between the Identity Manager personal and business attributes and Access Manager ones. It modifies all the defined attributes in Access Manager registry. Timer Event Handler (EH): ScheduleSync Exit file: TIMtoTAMsyncexit The default starting number can be set in the file. After the first execution, the AssemblyLine updates the starting number dynamically each time the changelog is processed. Where to install? What needs to be done before running the utility?
How to execute the Directory Integrator utility?
Figure 1: Directory Integrator Admin Tool
At a command line prompts: Note: Directory Integrator console option Figure 2: Directory Integrator Administration and Monitor Console (AMC)
How to check the execution results?
References For information on installing and configuring of Directory Integrator: For information about configuring the IDI Data Feed in IBM Tivoli Identity Manager:
| ||||||||||||||||||
| About IBM | Privacy | Terms of use | Contact |