A.1 Driver Configuration

In iManager:

  1. Click to display the Identity Manager Administration page.

  2. Open the driver set that contains the driver whose properties you want to edit:

    1. In the Administration list, click Identity Manager Overview.

    2. If the driver set is not listed on the Driver Sets tab, use the Search In field to search for and display the driver set.

    3. Click the driver set to open the Driver Set Overview page.

  3. Locate the driver icon, then click the upper right corner of the driver icon to display the Actions menu.

  4. Click Edit Properties to display the driver’s properties page.

    By default, the Driver Configuration page displays.

In Designer:

  1. Open a project in the Modeler.

  2. Right-click the driver icon or line, then select click Properties > Driver Configuration.

The Driver Configuration options are divided into the following sections:

A.1.1 Driver Module

The driver module changes the driver from running locally to running remotely or the reverse.

Java: Use this option to specify the name of the Java class that is instantiated for the shim component of the driver. This class can be located in the classes directory as a class file, or in the lib directory as a .jar file. If this option is selected, the driver is running locally. Select this option to run the driver locally.

The Java class name is: com.novell.nds.dirxml.driver.rest.RESTDriverShim

Native: This option is not used with the REST driver.

Connect to Remote Loader: Used when the driver is connecting remotely to the connected system. Designer includes two suboptions:

  • Remote Loader Client Configuration for Documentation: Includes information on the Remote Loader client configuration when Designer generates documentation for the driver.

  • Driver Object Password: Specifies a password for the Driver object. If you are using the Remote Loader, you must enter a password on this page. Otherwise, the remote driver does not run. The Remote Loader uses this password to authenticate itself to the remote driver shim.

Name: Displays the java class name.

Driver Object Password: Use this option to set a password for the driver object. If you are using the Remote Loader, you must enter a password on this page or the remote driver does not run. This password is used by the Remote Loader to authenticate itself to the remote driver shim.

A.1.2 Authentication

The authentication section describes the parameters required for authentication to the connected system. This section is not applicable for the Identity Manager driver for REST. The authentication method for REST driver is Anonymous, Basic or OAuth2.0.

A.1.3 Startup Option

The Startup Option section allows you to set the driver state when the Identity Manager server is started.

Auto start: The driver starts every time the Identity Manager server is started.

Manual: The driver does not start when the Identity Manager server is started. The driver must be started through Designer or iManager.

Disabled: The driver has a cache file that stores all of the events. When the driver is set to Disabled, this file is deleted and no new events are stored in the file until the driver state is changed to Manual or Auto Start.

A.1.4 Driver Parameters

The Driver Parameters section lets you configure the driver-specific parameters. When you change driver parameters, you tune driver behavior to align with your network environment.

The parameters are presented by category:

Driver Settings

Custom Java Extensions: Select Show if you have developed custom Java classes to extend the driver shim’s functionality. Otherwise, select Hide.

  • Document Handling: Select Implemented if you have developed a custom Java class to process data as XML documents. Otherwise, select None.

    • Class: Specify the class by using a complete package identifier. For example, com.novell.DocumentModifier.

    • Init Parameter: Specify the parameter to pass to the init() method of the specified class. The init method is responsible for parsing the information contained in this string. Leave this field blank if the configuration string is not required for the class.

  • Schema: Select Implemented if you have developed a custom Java class to provide the application schema to the driver and specify the Class and Init Parameter values. Otherwise, select None.

For more information, see Section B.0, Using Java Extensions.

Subscriber Settings

Authentication Method: Select the method for authentication with the RESTful service. The available options are:

  • Anonymous: The user name and password is not required in Anonymous authentication method.

  • Basic: The driver uses the specified ID and password for authentication when processing the requests.

  • OAuth2.0: The driver uses the specified access token URL, ID and password for authentication when processing the request.

If Basic is selected, fill in the following parameters:

  • Authentication ID: Specify the authentication ID used for basic authorization on the HTTP header.

  • Authentication Password: Specify the authentication password used for basic authorization on the HTTP header.

  • Reenter Authentication Password: Specify the authentication password again.

    If you need to clear the password, select Remove existing password, then click Apply.

If OAuth2.0 is selected, fill in the following parameters:

  • Access Token URL: Specify the URL of the server used for requesting token access.

  • User Name: Specify the user name for authentication. This parameter is optional.

  • User Password: Specify the password for authentication. This parameters is optional

  • Reenter User Password: Specify the user password again.

    If you need to clear the password, select Remove existing password, then click Apply.

  • Authorization Query Options: Click the icon to create authentication query options for OAuth2.0 authorization method. The supported OAuth authorization types for REST driver are Client Credentials and Resource Owner Credentials. You can create any one of these authorization types.

    • Query Name: Specify the name of the query. For example, grant_type. You also can configure client_id, client_secret, and resource as query names.

    • Query Value: Specify the value for the query. For example, client_crendentials or password.

Authorization Header Fields: Click the icon to create authorization header fields.

  • Header Name: If the remote server requires an authentication ID, specify the ID in the field. Otherwise, leave the field empty.

  • Header Value: Specify the authentication password for the remote server if you specified an header name. Otherwise, leave the field empty.

Truststore File: Specify the name and path of the keystore file containing the trusted certificates used when the remote server is configured to provide server authentication. For example, c:\security\truststore. Leave this field empty when server authentication is not used.

Set mutual authentication parameters: Specify Show to set mutual authentication information. Specify Hide to not use mutual authentication.

  • Keystore file: Specify the path and the name of the keystore file that contains the trusted certificates for the remote server to provide mutual authentication. For example, C:\security\keystore. Leave this field blank when mutual authentication is not used.

  • Keystore password: Specify the password for the keystore file. Leave this field blank when mutual authentication is not used.

HTTP Connection Timeout: Specify the HTTP connection timeout value. The driver waits for the time specified and terminates the HTTP connection. The timeout value must be greater than zero.

Proxy host and port: Specify the host address and the host port when a proxy host and port are used. For example: 192.10.1.3:18180.

Or, if a proxy host and port are not used, leave this field empty.

HTTP Errors to Retry: Specify the HTTP errors that must return a retry status. Error codes must be a list of integers separated by spaces. For example, 307 408 503 504.

Base URL for REST Resources: Specify the common part of the REST resource URL. This is the part of the URL remaining after excluding the URL extension of the resource. For example, http://ipaddress:port/.

Resources

Configure Resources to synchronize: Click the icon to add a class name of the user resource present in application schema.

  • Schema name: Specify the class name of the user resource in the application schema. For example, Users, Groups, and Entitlement.

  • Configure Handlers: Select the appropriate customer handlers. The available options are Default and Custom.

    If you select Custom, fill in the following parameters:

  • Rest Handler Details: Click the icon to add rest custom handler information.

  • URL Extension: Specify the relative URL extension where the resource is located. The driver shim appends this URL extension to the base URL. The URL extension also includes the necessary URL placeholder. A placeholder is defined as a variable embedded within the URL. The driver-operation-data element replaces this with the URL token element during data transformation.

    For example, /Users/<version>. In this example, version is the placeholder and the driver replaces this with the URL token element in the driver-operation-data element.

    <driver-operation-data class-name="User" command="add" method="put" uri="https://172.16.0.0:XXXX/User/rest123">
            <request>
              <url-token version="1.0"/>
              <header content-type="application/json"/>
              <value>{"CN":[{"value":"rest6789"}],"Full Name":[{"value":"rest6789 rest6789"}],"Given Name":[{"value":"rest6789"}],","Surname":[{"value":"rest6789"}],"Login Disabled":[{"value":"true"}]}
              </value>
            </request>
    </driver-operation-data>
  • Operation: Select the required operation for Identity Manger operation.

  • Method: Select the HTTP method to use. The options are: GET, POST,PATCH,PUT, and DELETE.

  • Optional Header Fields: Click the icon to add optional header name and value.

Publisher Options

Publisher Settings: Specify the publisher settings.You can select either Publish or Poll as the publisher setting. If Publish is selected, the driver pushes the events to the Identity Vault. In the Publish mode, the driver exposes the REST endpoints to receive the events. These vents are then pushed to the Identity Vault. If Poll is selected, the driver periodically pulls the data from the connected RESTful service.

If Publish is selected, fill in the following parameters:

Listening IP address and port: Specify the IP address of the server where the REST driver is installed and the port number that this driver listens on.

If you imported a sample configuration file, this field contains the IP address and port that you specified in the wizard.

Authentication method: Select the authentication method as Anonymous or Basic.

if Basic is selected, fill in the following parameters:

Authentication ID: Specify the Authentication ID of the remote server to validate incoming requests. If the remote server does not send an Authentication ID, leave this field empty.

If you imported a sample configuration file, this field contains the IP address and port that you specified in the wizard.

Authentication Password: Specify the authentication password of the remote server to validate incoming requests if you entered an Authentication ID above. Otherwise, leave these fields empty.

Reenter Authentication Password: Specify the authentication password again.

If you need to clear the password, select Remove existing password, then click Apply.

If Poll is selected, fill in the following parameters:

Configure Resources to poll: Click the icon to add a class name of the user resource present in application schema.

  • Schema name: Specify the class name of the user resource in the application schema.

  • Service Endpoint: Specify the service end point of the connected RESTful service for the publisher polling. A generic example is http://ip:port/schema. For users: http://172.16.0.0:port/User?search-attr=.

  • Method: Select the method.

  • Optional Header Fields: Click the icon to add optional header name and value.

Search Results to Synchronize on First Startup: Specify the synchronization setting for search results. When this driver starts for the first time, it performs a search on the application. The search results are synchronized depending upon the specified parameter.

  • Synchronize only subsequent changes: Select this option to synchronize only the subsequent changes.

  • Synchronize everything: Select this option to synchronize the initial search results.

Polling interval in minutes: Specify the polling interval in minutes. Default is one minute.

NOTE:The Subscriber Base URL is mandatory for the driver authentication when using the poll mode.

KMO name: Specify the KMO name to be used in eDirectory.

When the server is configured to accept HTTPS connections, this name becomes the KMO name in eDirectory. The KMO name is the name before the “-” (dash) in the RDN.

Leave this field empty when a keystore file is used or when HTTPS connections are not used.

Keystore file: Specify the keystore name and path to the keystore file. This file is used when the server is configured to accept HTTPS connections.

Leave this field empty when a KMO name is used or when HTTPS connections are not used.

Keystore password: Specify the keystore file password used with the Keystore file:keystore file specified above when this server is configured to accept HTTPS connections.

Leave this field empty when a KMO name is used or when HTTPS connections are not used.

Server key alias: Specify a Server key alias when this server is configured to accept HTTPS connections.

Leave this field empty when a KMO name is used or when HTTPS connections are not used.

Server key password: When this server is configured to accept HTTPS connections, this is the key alias password (not the keystore password). Leave this field empty when a KMO name is used or when HTTPS connections are not used.

Require mutual authentication: When using SSL, it is common to do only server authentication. However, if you want to force both client and server to present certificates during the handshake process, you should require mutual authentication.

Heartbeat interval in seconds: Specify the heartbeat interval in seconds.

Leave this field empty to turn off the heartbeat.

A.1.5 ECMAScript

Displays an ordered list of ECMAScript resource files. The files contain extension functions for the driver that Identity Manager loads when the driver starts. You can add additional files, remove existing files, or change the order the files are executed.

A.1.6 Global Configuration

Displays an ordered list of Global Configuration objects. The objects contain extension GCV definitions for the driver that Identity Manager loads when the driver is started. You can add or remove the Global Configuration objects, and you can change the order in which the objects are executed.