8 0 2 SailPoint Integration Guide
8 0 2 SailPoint Integration Guide
8 0 2 SailPoint Integration Guide
Version 8.0-2
Integration Guide
Copyright © 2019 SailPoint Technologies, Inc., All Rights Reserved.
SailPoint Technologies, Inc. makes no warranty of any kind with regard to this manual, including, but not limited to,
the implied warranties of merchantability and fitness for a particular purpose. SailPoint Technologies shall not be
liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with
the furnishing, performance, or use of this material.
Restricted Rights Legend. All rights are reserved. No part of this document may be published, distributed, reproduced,
publicly displayed, used to create derivative works, or translated to another language, without the prior written
consent of SailPoint Technologies. The information contained in this document is subject to change without notice.
Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c) (1) (ii)
of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 for DOD agencies, and
subparagraphs (c) (1) and (c) (2) of the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 for
other agencies.
Regulatory/Export Compliance. The export and re-export of this software is controlled for export purposes by the
U.S. Government. By accepting this software and/or documentation, licensee agrees to comply with all U.S. and
foreign export laws and regulations as they relate to software and related documentation. Licensee will not export
or re-export outside the United States software or documentation, whether directly or indirectly, to any Prohibited
Party and will not cause, approve or otherwise intentionally facilitate others in so doing. A Prohibited Party includes:
a party in a U.S. embargoed country or country the United States has named as a supporter of international terrorism;
a party involved in proliferation; a party identified by the U.S. Government as a Denied Party; a party named on the
U.S. Government's Specially Designated Nationals (SDN) List; a party prohibited from participation in export or
re-export transactions by a U.S. Government General Order; a party listed by the U.S. Government's Office of Foreign
Assets Control as ineligible to participate in transactions subject to U.S. jurisdiction; or any party that licensee knows
or has reason to know has violated or plans to violate U.S. or foreign export laws or regulations. Licensee shall ensure
that each of its software users complies with U.S. and foreign export laws and regulations as they relate to software
and related documentation.
Copyright and Trademark Notices. Copyright © 2019 SailPoint Technologies, Inc. All Rights Reserved. All logos, text, content,
including underlying HTML code, designs, and graphics used and/or depicted on these written materials or in this Internet web site
are protected under United States and international copyright and trademark laws and treaties, and may not be used or
reproduced without the prior express written permission of SailPoint Technologies, Inc.
“SailPoint Technologies & Design,” “SailPoint,” “IdentityIQ,” “IdentityNow,” “SecurityIQ” “IdentityAI” “AccessIQ,”
“Identity Cube,” “Managing the Business of Identity” are registered trademarks of SailPoint Technologies, Inc.
“Identity is Everything” and “The Power of Identity” are trademarks of SailPoint Technologies, Inc. None of the
foregoing marks may be used without the prior express written permission of SailPoint Technologies, Inc. All other
trademarks shown herein are owned by the respective companies or persons indicated.
Table of Contents
Chapter 1: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What is SailPoint IdentityIQ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
SailPoint Integration Guide Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Appendix A: Common Identity Management Integration Configuration . . . . . . . . . . . . 229
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Creating the IntegrationConfig Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
Appendix B: Connector Classloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Upgrade considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
What is SailPoint IdentityIQ?
Chapter 1: Overview
The following topics are discussed in this chapter:
What is SailPoint IdentityIQ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
SailPoint Integration Guide Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
a central point of visibility, administration, and governance across the entire enterprise. This includes policy
discovery and access history across all organization accounts, provisioning AWS entities and objects, access
review and certification, and federated access support.
SAP Governance Module — Improves the user experience by introducing a new integrated visual interface for
navigating and selecting SAP identities and roles as part of IdentityIQ lifecycle management and compliance
solution. SAP data is presented in a familiar hierarchy format that closely represents deployed system resources
and organizational structures. New filtering capabilities enable more efficient browsing and selection of SAP data
so tasks can be performed faster. Improved granular support for separation of duty (SOD) violation policies
provides flexibility for customers to craft more detailed identity governance policies that include SAP role details
such as T-Codes and Authorization Objects.
Overview
IdentityIQ for Okta is an enterprise-level solution for centrally storing and managing user profiles and identity
data. IdentityIQ for Okta enables single sign-on authentication across multiple applications and devices - even
when they are behind firewalls or in the cloud and makes it easier for IT personnel to access essential employee
information.
IdentityIQ for Okta manages Users, Groups, Roles and Application using Rest API provided by Okta. In IdentityIQ
Okta users are managed as accounts and groups, roles and applications are managed as entitlement.
Supported Features
The IdentityIQ for Okta supports the following features:
• Account Management
- Manage Okta Person as Account
- Create, Update, Delete
- Enable, Disable, Unlock
- Change Password, Refresh Accounts
- Aggregation, Partitioning Aggregation, Delta Aggregation, Filter condition for Aggregation
For provisioning and aggregation of Okta user with factors, see “Provisioning of Factors”.
Note: Adding factors to account schema would impact the performance of account aggregation.
Prerequisite
• An administrative user must be granted an Okta API token for authentication purposes.
To generate an Okta API token, perform the steps mentioned below:
a. Log in to Okta organization as a user with super administrator privileges. API tokens have the same
permissions as the user who creates them, and if the user permissions change, the API token per-
missions also change.
b. On the Developer Console, select Tokens from the API menu.
c. On the Administrator's UI (Classic UI), select API from the Security menu, and select Tokens.
d. Click Create Token and provide a name for the token.
e. Note the created API Token.
Note: Okta API tokens generated from the above steps are valid for 30 days and automatically would
be refreshed with each API call. Tokens that are not used for 30 days would expire.
• By default, connector account aggregation supports Okta's List Users with Filter feature.
For aggregation with Okta's List Users with Search feature, ensure that the following entry key is added in
the application xml file:
<entry key="ListUsersWithSearch" value="true"/>
Note: The List Users with Search parameter now searches for users based on the properties specified in
the search parameter (case insensitive). This operation supports pagination (to a maximum of
50000 results).
Configuration Parameters
This section contains the information that the connector uses to connect and interact with the application. Each
application type requires different information to create and maintain a connection.
The IdentityIQ for Okta uses the following connection parameters:
Attributes Description
Okta Connection Settings
URL* The host URL of Okta instance.
API Token* SSWS API token required for Okta authentication.
Page Size The maximum size of each data set when querying large number of objects.
Minimum value is 1 and maximum value is 200. Default: 200
Aggregation Filter Settings
Filter Condition for Optional condition to bring subset of Accounts during aggregation.
Accounts
For example, status eq “ACTIVE”
Note: For more information on the Aggregation Filters supported on the
managed system, see "Supported Aggregation Filters” on page 18.
Filter Condition for Optional condition to bring subset of Groups during aggregation.
Groups
By default the value is set as follows:
type eq "BUILT_IN" or type eq "OKTA_GROUP"
Attributes Description
groupsPageSize Sets the maximum size of each data set when querying large number of Groups by
adding the entry key as follows:
<entry key="groupsPageSize" value="10000"/>
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Name Description
id Unique key for user.
login Unique identifier for the user (username).
email Primary address of the user.
Name Description
secondEmail Secondary email address of user typically used for account recovery.
firstName First name of the user.
lastName Last name of the user.
middleName Middle name(s) of the user(s).
displayName Name of the user, suitable for display to end users.
nickName Casual way to address the user in real life.
title User’s title, such as ‘Vice President’
honorificPrefix Honorific prefix(es) of the user, or title in most western languages.
honorificSuffix Honorific suffix(es) of the user.
profileUrl URL of user’s Online profile.For example, a web page.
primaryPhone Primary phone number of user such as home number.
mobilePhone Mobile phone number of user.
streetAddress Full street address component of user’s address
city City or locality component of user’s address.
state State or region component of user’s address.
zipCode Zipcode or postal code component of user’s address.
countryCode Country name component of user’s address.
postalAddress Mailing address component of user’s address.
preferredLanguage User’s preferred written or spoken languages.
locale User’s default location for purposes of localizing items such as currency,
date time format, numerical representations, and so on.
timezone User's time zone.
userType Used to identify the organization to user relationship such as ‘Employee’
or ‘Contractor’.
employeeNumber Organization or company assigned unique identifier for the user.
costCenter Name of cost center assigned to the user.
organization Name of user’s organization.
division Name of user’s division.
department Name of user’s department.
manager Display name of the user’s manager.
managerId ID of a user’s manager.
status Status of the user. For example, ACTIVE, PROVISIONED, DEPROVISIONED
and so on.
created Timestamp of user creation.
activated Timestamp when transition to ACTIVE status completed.
Name Description
statusChanged Timestamp when status last changed.
lastUpdated Timestamp when user was last updated.
lastLogin Timestamp of last login.
passwordChanged Timestamp when password was last changed.
providerType Type of the credential provider.
providerName Name of the credential provider.
groups Groups assigned to the user.
applications Applications assigned to the user.
roles Administrator roles assigned to the user.
Note: Custom attributes of User profile from Okta can be populated using the Discover Schema
functionality.
Group Attributes
The following table lists the group attributes:
Name Description
groupId Unique key for group.
name Name of the group.
created Timestamp when group was created.
description Description of the group.
lastMembershipUpdated Timestamp when group’s memberships were last updated.
type Determines how a group’s profile and memberships are managed.
lastUpdated Timestamp when group’s profile was last updated.
objectClass Determines the group’s profile.
applications Applications assigned to group.
Application Attributes
The following table lists the application attributes:
Name Description
applicationId Unique key for application.
name Unique key for application definition.
label Unique user-defined display name for application.
created Timestamp when application was created.
Name Description
status Status of application.
signOnMode Authentication mode of application.
features Enabled application features.
lastUpdated Timestamp when application was last updated.
Attribute Description
FirstName* First name of the user.
LastName* Last name of the user.
Email* Primary address of the user.
Login* Must be an email.
Activate Checked to set the status as provisioned, unchecked to set status as
staged.
Password Login password for the user.
Provider Type Type of the credential provider, out of the box allowed values are
FEDERATION, SOCIAL, OKTA, ACTIVE_DIRECTORY, LDAP
Provider Name Name of the credential provider.
recoveryQuestion (Optional) Set a recovery question for user.
recoveryAnswer (Optional) An answer to the recovery question.
Attribute Description
sendEmail While enabling de-provisioned user, it would not send an activation
email to the user if sendEmail is false. Default value: true.
For more information on the various mapped status of Okta and IdentityIQ, see "Account Status Mapping” on
page 19.
Attribute Description
Group Name* Name of the group.
Group Description Description of the group.
Additional Information
This section describes the additional information related to the IdentityIQ for Okta.
The above approach works best in environments having less number of connections (users to groups and/or
application). The problem arises when the groups and applications connections are high. Due to API limitations
the cache creation takes a longer time than expected.
To resolve this an alternative approach called as sequential approach is used in the connector. In this approach,
the connector first fetches the user profiles followed by groups and applications. The sequential approach can be
enabled by configuring the following parameters in the application debug page:
• To skip creation of application cache:
<entry key="noAppCaching">
<value>
<Boolean>true</Boolean>
</value>
</entry>
• To skip creation of group cache:
<entry key="noGroupCaching">
<value>
<Boolean>true</Boolean>
</value>
</entry>
RECOVERY
LOCKED_OUT Locked
Upgrade Considerations
• For applications created before applying 8.0 Patch 2, application definition would have an entry for
Events API. After upgrading IdentityIQ version 8.0 Patch 2, users must manually remove the Events API
entry.
• While upgrading to IdentityIQ 8.0 Patch 2, to support the credential provider type and name, add the
schema attribute providerType and providerName in the account schema. To create Okta user with
various provider type, provide required value for providerType and providerName.
• While upgrading to IdentityIQ 8.0 Patch 2, to support aggregation and provisioning of multiple factors
attribute, add the factors attribute in account schema. For more information, see “Support for
Multi-Factor Attribute”.
Delta Aggregation
The IdentityIQ for Okta supports only account delta aggregation. On Full Aggregation, the respective timestamp
of account aggregation is stored in the Application object which is used by Delta Aggregation to retrieve the
changed data into IdentityIQ. This timestamp is updated after each account delta aggregation.
In account delta aggregation changes to user profile attributes and their entitlements are populated.
The delta for Okta user profile attributes are populated from the users API by comparing the timestamp of last
successful account aggregation against the last updated attribute.
To detect entitlement changes and deleted users, the data is populated from logs API by comparing the
timestamp of last successful account aggregation against the published attribute.
Note: Log data older than 90 days is not returned, in accordance with Okta's Data Retention Policy.
This means, that any data change done prior to 90 days of the last successful account
aggregation timestamp, would not be captured and a full account aggregation would be
required.
For all delta aggregations after applying 8.0 Patch 2, logs API would be considered regardless of application
definition.
Provisioning of Factors
This section provides details on adding factors to the user and removing factors from the user.
To provision or add factors in Okta, the complete JSON body of factors must be passed in the provisioning plan.To
pass additional query parameters with Add Factor operation, an additional attribute request must be added with
the attribute request name in the following format.
factor.<factorType>.<provider>.queryParams
For example, to send query parameter for factor type sms the attribute request name is as follows:
<AttributeRequest name="factor.sms.OKTA.queryParams" op="Add"
value="updatePhone=true&activate=true" />
Note: For every factor a separate attribute request must be added for additional query parameters.
Following is an example of provisioning plan to provision the factors:
<ProvisioningPlan>
<AccountRequest op="Modify">
<AttributeRequest name="factors" op="Add">
<Value>
<List>
<String>{ "factorType": "push", "provider": "OKTA" }</String>
<String>{ "factorType": "token:software:totp", "provider": "GOOGLE" }</String>
<String>{ "factorType": "sms", "provider": "OKTA", "profile": { "phoneNumber":
"<provide phone number>" } }</String>
</List>
</Value>
</AttributeRequest>
<AttributeRequest name="factor.sms.OKTA.queryParams" op="Add"
value="updatePhone=true&activate=true" />
</AccountRequest>
</ProvisioningPlan>
Note: For more information on the JSON body of different factors, see the Okta API Documentation.
For example, to remove the factor type sms the attribute request name is as follows:
<AttributeRequest name="factors" op="Remove" value="sms.OKTA" />
Following is an example of provisioning plan to remove factors:
<ProvisioningPlan>
<AccountRequest op="Modify">
<AttributeRequest name="factors" op="Remove">
<Value>
<List>
<String>sms.OKTA</String>
<String>token:software:totp.OKTA</String>
</List>
</Value>
</AttributeRequest>
</AccountRequest>
</ProvisioningPlan>
Troubleshooting
2 - For Unlocked Okta account from IdentityIQ, account details page does not display
correct status
In IdentityIQ, managed account refresh action only affects the status of the account in IdentityIQ. Account Details
are not changed and Status is one of the account attribute.
Resolution: To get the correct account details and value of the Account status, execute account aggregation task.
3 - Create Account fails for account created with group assigned as 'Everyone'
By default, on Okta managed system the group 'Everyone' gets assigned to every account created. Create account
would fail with following error message is displayed:
sailpoint.connector.ConnectorException: [ConnectorException] [Error details] Request
execution failed. HTTP Error code: 501, Okta Error code: E0000060, errorSummary:
Unsupported operation., errorCauses:[].
Resolution: While performing create account with Manage user access select the group type other than
Everyone.
Resolution:
• Ensure that correct permission/roles are assigned to the API Owner (the user whose api token is getting
used in Okta application). The API Owner must have SUPER ADMIN roles assigned to him for aggregation.
Note: To aggregate Okta roles, SUPER_ADMIN role is required.
• The List Users with Search parameter supports pagination (to a maximum of 50000 results).
• For aggregation with Okta's List Users with Search feature, ensure that the following entry key is added
in the application xml file:
<entry key="ListUsersWithSearch" value="true"/>
Note: The List Users with Search parameter is moved to General Availability (GA). This operation
supports pagination (to a maximum of 50000 results).
5 - Account Preview does not work/displays any data on Okta application page
If the IdentityIQ for Okta is having huge number of user to group/user to application connection, the account
preview functionality would not work as it takes more time to get data from Okta.
Resolution: To verify Okta accounts run the account aggregation task instead of Account Preview. For more
information on best practices of Okta account aggregation, see "Aggregation Best Practices” on page 17.
Resolution: If required warnings can be ignored. But to improve Okta aggregation performance, increase Okta API
rate limit.
Overview
ArcSight IT Security Information and Event Management Infrastructure Module (SEIM) is a Universal log
management solution that helps enterprises identify and prioritize current and potential security threats.
SailPoint IdentityIQ collects the security event information such as Audit information. The SailPoint IdentityIQ
integration with ArcSight IT Security allows both end systems to take remediation action in case of security
threats.
IdentityIQ integration with ArcSight enables the following scenarios:
1. IdentityIQ data (Identity, Account, Audit, and Syslog) stored in IdentityIQ can be exported to ArcSight. Arc-
Sight administrator can store this data in an ArcSight Active List.
IdentityIQ data can be exported to ArcSight for correlation, such as successful provisioning of privileged
accounts, password changes, login failure and so on. For more information on ways to export data, see
“Export from IdentityIQ to ArcSight” point in “Supported Features” section.
2. IdentityIQ can import filtered activity event data from ArcSight; based on which activity-based remediation
processing can be triggered. Event records are expected in standard ArcSight Common Event Format (CEF).
Events received are matched with users held within the IdentityIQ warehouse, and used to trigger activity
policies when certain types of event are recognized. These triggers result in a business process being
executed which generates a full re-certification for the affected user, and also causes a re-calculation of the
user's risk score and update of risk reports and dashboard content to highlight the activity.
Note: Creating an ArcSight Active Channel or Active List is outside the scope of this document. This
document assumes the ArcSight administrator is familiar with steps to create an ArcSight Active
Channel or Active List. It provides the IdentityIQ information an ArcSight administrator will
require to create an ArcSight Active Channel or Active List.
Supported Features
• Export from IdentityIQ to ArcSight: The IdentityIQ data can be exported in:
- Flat file in CEF: Using Advanced Analytics we can export Identity, Account, Audit and Syslog data in
CEF.
- Database tables: The ArcSight Data Export task enables you to export Identity (which includes
account and identity data) and Audit data to external tables.
• Import into IdentityIQ from ArcSight: This integration supports including event logging data from
ArcSight and associate it to Identities in IdentityIQ so that potential policy violations can be triggered or
provide greater visibility as part of access reviews as to any suspicious or error prone access a user may
have.
Supported Platform
IdentityIQ for ArcSight IT Security supports the HP ArcSight Enterprise Security Manager version 6.9.
Prerequisites
(Applicable for import of ArcSight Events into SailPoint IdentityIQ) At least one application must be configured in
SailPoint IdentityIQ and Users/Groups aggregated into SailPoint IdentityIQ system.
Note: Users present in HP ArcSight must also be present in SailPoint IdentityIQ.
Configuration
This section describes the general, operation specific configurations and the steps that must be performed to
configure the IdentityIQ for ArcSight IT Security.
Create the export databases on your destination data source before using the ArcSight Data Export task.
1. Navigate to Monitor => Tasks.
Options Description
Datasource Parameters
Database Select a database type from the drop-down list.
User Name Enter the user name parameter of the database.
Password Enter the password of the database.
Driver Class Enter the driver class used for the database.
URL Enter the URL of the database.
4. Click on Generate table Creation SQL to generate table’s schema and create database that includes export
tables which you can hand off to a database administrator for execution.
The task adds the following tables in database:
Tables Description
sptr_arcsight_export Table to maintain the task execution history.
sptr_arcsight_identity Table contains exported data of Identity.
sptr_arcsight_audit_event Table contains Audit Events information.
Options Description
Export Identities Select the check box to export Identity related data in ArcSight tables. It provides the
following options:
• Full: Exports all the records irrespective if they were exported earlier.
• Incremental: Exports only records that are updated since last run of this
task.
This option can even be selected when running the task for first time.
When the task is running for first time, this option exports all records
similar to the Full option.
Export Audits Select the check box to export Audit Events in ArcSight table. It provides the following
options:
• Full: Exports all the records irrespective if they were exported earlier.
• Incremental: Exports only records that are updated since last run of this
task.
This option can even be selected when running the task for first time.
When the task is running for first time, this option exports all records
similar to the Full option.
6. After completing the customizing report options, click Save for later use or Save and Execute to save the
report and run it immediately.
Note: If the application name is not defined in the map the host field will be blank.
As mentioned above, this document provides the information an ArcSight administrator requires to create
an ArcSight Active List or Active Channel. The information below provides the same. Following fields are
added in export table:
If the correlation key is not marked and aggregation of account for that application is already performed,
then perform the following:
- Access the Application Configuration console.
- Navigate to the Correlation tab.
- Click on New button to create a new Account Correlation.
- Click on next button and provide the name of the configuration.
- Select the Application Attributes and Identity Attributes and click on Add button.
- Click on Save.
- Click on Save to save the application.
After the correlation configuration is done, execute the account aggregation (with optimization turned
off to pick up the existing accounts) again.
10. Navigate to Define => Identities.
11. Click on the identity for which you want to enable Activity monitoring and import data from ArcSight.
12. Navigate to Activity Tab.
13. Select the Activity Monitoring checkbox.
14. Save the Identity.
15. Navigate to Monitor => Tasks.
16. Create a new Activity Aggregation Task.
17. Select an activity data source which is configured above in Step 8.
18. Save and execute the task.
- To see the result of the task executed in previous step navigate to Task Results tab and click on the
task.
- To see the correlated events navigate to Define => Identities. Select the identity for which you have
correlated the event. Navigate to Activity Tab. Check the Recent Activities section.
Note: After correlating the HP ArcSight event to Identity, the Policy Violation and Certification can be
created and used to notify for any activity for that identity using the workflow.
Overview
The Rest based integration between SailPoint and IT Service Desk System enables customers to create service
requests, incidents, and change requests in IT Service Desk System for the configured operations (for example,
creating account, removing/deleting access and other operations) for the configured application using rest APIs.
The seamless integration of SailPoint IdentityIQ for IT Service Desk System eliminates the need to build and
maintain a custom integration and reduces time-to-deployment.
Note: Enter the following command to enable log4j2 tracing on Service Desk component:
logger.integration_servicenow.name=openconnector.connector.servicedesk.S
erviceDeskConnector
logger.integration_servicenow.level=debug,file
Supported Features
IdentityIQ for Service Desk supports the following features:
• Creating ticket for all provisioning operations
• Syncing ticket status between the two systems
• Retry Mechanism for Create Ticket request failure
Supported Platforms
IdentityIQ for ServiceNow Service Desk supports the following ServiceNow releases:
• Orlando
• New York
• Madrid
Prerequisites
• ServiceNow Instance must be up and running.
The IdentityIQ for Service Desk Administrator must be assigned the x_sap_sdim.admin role.
• Install <SailPoint for Service Desk> application from ServiceNow store.
Basic Configuration
The integrated solution speeds the detection and remediation of identity management issues that increase the
risk of compliance violations or security breaches, such as orphaned accounts, policy violations, and
inappropriate access privileges. Organizations can take advantage of a centralized approach spanning thousands
of users and hundreds of resources to strengthen IT controls and provide proof of compliance to auditors and
executive management. The seamless integration of SailPoint and ServiceNow eliminates the need to build and
maintain a custom integration, and speeds time-to-deployment.
For any IT resources managed by ServiceNow Service Desk, IdentityIQ automatically creates a trouble ticket
within ServiceNow Service Desk, passing along all relevant identity data and reviewer comments to populate the
ticket.
To ensure revocation requests get delivered and implemented, IdentityIQ manages all remediation and
revocation requests within a guaranteed delivery model.
To determine the status of user accounts, IdentityIQ performs closed-loop audits on remediation requests and
compares the actual state of user privileges with the original change request. If the request is still open, an alert
will be sent to the reviewer for prompt action and closure.
The integration itself has been designed to be quick to install and easy to use. It makes use of Web Services for
communications between the SailPoint server and the ServiceNow. On the backside of a user recertification,
policy remediation action or access request action, the IdentityIQ server will direct provisioning and service desk
requests to the configured implementers. Based on the connector configured for each target application, service
desk request are issues to a given remediation/implementation point. Once the
IdentityIQforServiceNowServiceDesk file for ServiceNow has been loaded into the IdentityIQ server, all
change/remediation actions result in the creation of new service desk request as shown in Service request creates
ticket using SailPoint Cart JS API. Incident and change request creates ticket using import set table APIs and
transform maps..
The IdentityIQ for ServiceNow Service Desk generates tickets for provisioning requests. These tickets generate
service requests on sc_request and sc_req_item table, incidents on incident table, or change requests on
the change_request table. The module fetches the status of ticket by using the direct web services of target
tables that is, sc_req_item, incident or change_request and updates the SailPoint IdentityIQ database
with the status.
Service request creates ticket using SailPoint Cart JS API. Incident and change request creates ticket using import
set table APIs and transform maps.
a Workflow attached to it. After adding Catalog Item to the cart, Cart is submitted. Submission of cart triggers the
Workflow. The workflow creates a task by passing the information from Catalog Variables to Service Request. The
Requested Item ticket number is returned as the response which is later used to check the status.
Depending on the workflow configuration, the task is assigned to the user (group or individual), who then
performs the action which results in change in the State of the Requested Item.
This is intended as an introduction to the configuration needed to integrate IdentityIQ with ServiceNow. It
outlines some examples that must be used as a reference point for implementation. Some changes may be
required to meet specific use case and expertise around both systems are a must for the successful
implementations.
SailPoint provides a default ServiceNow configuration. This configuration implements the integration between
IdentityIQ and the ServiceNow to fulfill creation of tickets based on IdentityIQ access certification remediation
events.
The default configuration is located in the following directory, where iiqHome is the location where IdentityIQ was
installed:
iiqHome/WEB-INF/config/connector/IdentityIQforServiceNowServiceDesk.xml
Parameters Description
url* The base URL of Service Desk System.
Application Configuration XML would have all configurations for Service Request, Incident and Change Module.
Depending on the type of selection for ticketType, respective configuration would be executed by connector for
the request processing.
Each module would have provision and checkStatus entries as mentioned below:
Provision:
Entries Description
resource Ticket creation rest endpoint. Do not provide the base url in the value. Base url
would be appended to this endpoint value. Provide only remaining endpoint URL.
ServiceNow: /api/x_sap_sdim/sailpoint_cart_js_api/create_ticket
catalogItem (For Service Request only) Map that provides key value pair of managed application
name and catalog item id.
responseElement* The value is JSON path expression which provides information about where to find
ticket number in the response from rest endpoint. For example,
result.request_number
checkStatusQueryPa Map that provides any query parameters needed for Rest call.
ram
requestObject The value represents JSON root element in the request.
request Map that represents request payload, which has velocity template expression and
velocity variables that would be dynamically updated by integration before making
rest call.
Check Status:
Entries Description
resource Ticket creation rest endpoint. Do not provide the base url in the value. Base url
would be appended to this endpoint value. Provide only remaining endpoint URL.
ServiceNow: /api/now/table/sc_request
queryParam Map that provides key value pair of required query parameters. Velocity Template
variables would be replaced dynamically by Integration.
If any changes required in the mapping, change the default value/key values in statusMap and
statusMapCloserCode as mentioned in the following tables:
• statusMap for Service Request:
Once the configuration information is populated then import IdentityIQforServiceNowServiceDesk.xml file. This
would create an application.
Retryable Mechanism
For availing the advantage of some of the logic around retryable situations, add the retryable error messages list
to the attributes map on an application. The retryableErrors entry is a list of strings through which the connector
searches when it receives a message from the managed application. If one of the strings in the entry exists in the
error, the connector attempts to retry the connection. When the configured error string is not a part of the error
message returned from the connector, then IdentityIQ would not attempt a retry.
For example,
<entry key="retryableErrors">
<value>
<List>
<String>Connection reset</String>
</List>
</value>
</entry>
Note: Error messages containing very specific information about date/time, sequence ID and so on
must be avoided. Error codes or error message substrings would be good candidates for
inclusion.
Overview
This Integration Module creates Service Requests, Incidents and Change Requests in HP Service Manager for the
configured operations (for example, Change Password, Request Entitlement and so on) for the configured
application.
Note: Enter the following command to enable log4j2 tracing on MicroFocus Service Manager Service
Desk component:
logger.integration_hpservicemanager.name=sailpoint.integration.hpservice
manager
logger.integration_hpservicemanager.level=debug,file
Note:
Supported Features
IdentityIQ for MicroFocus Service Manager Service Desk supports the following features:
• Creates the following types of tickets in HP Service Manger (known as Micro Focus) through provisioning
request in IdentityIQ:
- Service Request
- Incident
- Change
• Support for Service Catalog, Incident Management and Change Management Modules in HP Service
Manager.
Note: For Service Catalog Module, following options of the Connector drop down list are
supported:
- Open New Request
- Open an Incident
- Open a Change
• Fetching the status of Service Request, Incident or Change from HP Service Manager and update the
status of the respective Access Requests in IdentityIQ.
• Retry mechanism for Create Ticket request failure
Supported Platforms
IdentityIQ for MicroFocus Service Manager Service Desk supports the following version of Service Manager:
• HP Service Manager version 9.6 (now known as Micro Focus Service Manager 9.6)
• HP Service Manager version 9.5
• HP Service Manager version 9.4
• HP Service Manager version 9.3
Prerequisites
• Ensure that the (one of the) following WSDL is accessible:
- For Service Request: http://<host>:<port>/SM/7/SM/7/ServiceCatalogAPI.wsdl
- For Incident Request: http://<host>:<port>/SM/7/IncidentManagement.wsdl
- For Change Request: http://<host>:<port>/SM/7/ChangeManagement.wsdl
Where <host> is the host name of the system where HP Service Manager is setup and <port> is port number
configured for the above web services on HP Service Manager setup.Alternatively, use a Soap UI tool to
submit a simple request (for example, incident). For convenience you can use the basic authentication
mechanism for authorization with SOAP UI tool to confirm that the web service layer is functional.
• (Only for Service Request)
- To enable Service Request and perform any operation, you must create a Catalog Item in Service
Catalog module. For more information on the procedure for creating a Catalog Item, see “Creating
New Service Request Catalog Item” on page 57.
- If Identity Name on IdentityIQ does not match the Contact Name on HP Service Manager, perform
the steps mentioned in “Exporting user details from HP Service Manager (Micro Focus)” on page 57
and “Importing user details from HP Service Manager (Micro Focus) to IdentityIQ” on page 58.
- Incident Request: To create incident in HP Service Manager from IdentityIQ through integration,
minimum permission required is Incident Co-ordinator as a user role who has right to create any new
incident and perform workflow which is capable of closing the incident.
By selecting user role as Incident Co-ordinator, select the following under the Startup tab:
• SOAP API as execute capabilities
• Interactions and Service Desk as Query Groups
Administrator can create a customized role to create incident from IdentityIQ. Customized user can be
created as follows:
a. Navigate to System Administration ==> Ongoing Maintenance ==> User Roles and enter the follow-
ing parameters:
- Change Management: To create change in HP Service Manager from IdentityIQ through integration,
minimum permission required is Change Co-ordinator as a user role who has right to create any new
change.
Administrator can create a customized role to create change from IdentityIQ. Customized user can be
created as follows:
a. Navigate to System Administration ==> Ongoing Maintenance ==> User Roles and enter the follow-
ing parameters:
To perform workflow and close change ticket, select a user with role as Change Manager. This role
activates the Next Phase button which helps to move tickets from one phase to another.
At Change Approval stage, the following users are required to approve the tickets and move them to
next phase:
• Change.Approver: User having group membership of Change.Approver
• Change.Manager: User having group membership of Change.Manager
Once these users submit their approval, ticket gets moved to the next phase and then it can be moved
to closure phase.
4. On the Operator Record page, under the Security tab, enter the Password and select the Unlimited Ses-
sions and Prevent Lockout check boxes.
5. Create new login profiles as follows:
On the Operator Record page, under the Login Profiles tab, enter the details of the following parameters (as
shown in the following figure) and select the Named User check box:
- Date Format: mm/dd/yy
- Message Level: Information
6. On the Operator Record page, under the Startup tab, enter the details of the following parameters and
select the Activate Command Line on Startup checkbox:
Parameters Value
RAD Name menu.manager
name MAIN MENU
prompt
string1 HOME
Under the startup, select the values for Executive Capabilities and Query Groups from the drop down list as
follows and click the Save button:
- Execute Capabilities
• partial.key
• SysAdmin
• SQLAdmin
• SOAP API
• user.favorites
- Query Groups
• Service Desk
• Interactions
Configuration
• The default configuration is located in iiqHome/WEB-INF/config/ directory, where iiqHome is the
location where IdentityIQ was installed.
• When integrating with the following requests, modify the respective config files and import in IdentityIQ:
Note: For more information of the entries in the IntegrationConfig file, see “Appendix: A:
Common Identity Management Integration Configuration”.
• The integration configuration includes the following entries if the web service side of the integration is
configured for authentication using the SOAP authentication specifications:
- username
- password
- statusMap
- statusMapClosureCode
The web services and authentication entries are consumed by configuration entries for each web service.
They can be positioned either within the configuration entries themselves or as children of the Attributes
element. Entries that are children of the Attributes element can be thought of as global values, while entries
within the configuration entities can be thought of as local.
For example, if both entries share the same authentication credentials, those credentials might be placed in
the Attributes element as peers of the configuration entries and the integration code searches the parent
entry for the credentials if they are not found in the configuration entries. Conversely, if the configuration
entries have different endpoints (are handled by separate web services), each configuration entry specifies
the endpoint of the web service to call and any value outside of the configuration entry is ignored.
• Following are the supported configuration entries for integration with HP Service Manager. These entries
are children of the integration Attributes element:
- provision
- getRequestStatus
The values of each are Map elements containing key/value pairings of the configuration data. They contain
the specific data needed by the provision() and getRequestStatus() methods of the IdentityIQ integration
executor and correspond to HP Service Manager Web Service methods.
Entries Description
soapMessage* Full XML template of the entire SOAP envelope that is sent to the web service. The
integration code first runs this template through Apache's Velocity template
engine to provide the data needed by the web service.
responseElement* Name of the element containing the results of the web service call (for example,
the element containing the ticket number opened by the web service in response
to the call from IdentityIQ).
SOAPAction* SOAP requests action
endpoint* HP Service Manager endpoint to send create and get ticket status
namespace* Namespace of the XML returned by the web service
prefix* Prefix associated with the namespace
Both calls have access to a timestamp variable containing a current Date object and a dateFormatter object.
The dateFormatter is built using an optional dateFormat attribute from the config object. If the dateFormat
attribute does not exist, the formatter defaults to the pattern EEE, d MMM yyyy HH:mm:ss z.
Service Request
Incident Request
Entry key Values
statusMap
Closed committed
Pending Other inProcess
Referred inProcess
Replaced Problem inProcess
Resolved committed
Open inProcess
Accepted inProcess
Change Request
Configuration Procedure
The following steps should be performed to modify the default HP Service Manager Service Integration
configuration for a specific HP Service Manager Server.
1. Obtain the environment-specific Web Service “endpoint”, for example, http://<host>:<port>/SM/7/ws.
2. (For HP Service Manager 9.5)
- HPServiceManagerIntegrationConfigForIncident: Set Service as a Configuration Item Identifier.
For example, <ns:Service type="String" mandatory=""
readonly="">CI1001030</ns:Service>
- HPServiceManagerIntegrationConfigForChange:
• Set Category as a Standard Change.
For example, <ns:Category type="String" mandatory="" readonly="">Standard
Change</ns:Category>
5. (Only for Service Request) Modify the Rule for applicationName and provide its value same as that of appli-
cation created while importing HP Users in IdentityIQ.
Note: In Rule, the ‘attributeName’ represents the Application's link attribute and is used to
populate the ‘requestedFor’ field in Service Request.
The information in the reference section above show the variables that are provided and the example integration
configuration provides examples of how they are used.
Retryable Mechanism
By default IdentityIQ for MicroFocus Service Manager Service Desk provides retry mechanism for Connection
reset and for unknown host problems occurred from network issues.
However you can configure retryableErrors list in integration configuration (IntegrationConfig) file to add
new exception strings to the attributes map in integration configuration file.
The retryableErrors entry is a list of strings through which the integration searches when it receives a message
from the IdentityIQ for MicroFocus Service Manager Service Desk. Only SOAPException strings are considered for
retry that is, the exceptions raised from SOAP web service. If one of the strings in the entry exists in the error, the
integration attempts to retry the request. When the configured error string is not a part of the error message
returned from MicroFocus Service Manager Service Desk, then IdentityIQ will not attempt a retry.
For example,
<entry key="retryableErrors">
<value>
<List>
<String>Connection reset</String>
</List>
</value>
</entry>
Note: Error messages containing very specific information about date/time, sequence ID and so on
must be avoided. Error codes or error message substrings would be good candidates for
inclusion. Only exceptions raised from soap web service are considered for retry.
Additional Information
This section describes the additional information related to IdentityIQ for MicroFocus Service Manager Service
Desk.
3. Navigate to More => Export to Text File and select the check box for Export Column Headers.
4. Select the radio button for Comma Separated Value (CSV) in the Delimiter selection.
5. Click on OK.
6. A file with name export.csv will get downloaded to your location.
Troubleshooting
This section provides the resolutions for the following errors that may be encountered while setting up and
configuring IdentityIQ for MicroFocus Service Manager Service Desk.
4 - Change Ticket status gets committed on IdentityIQ even though ticket is open on
HP Service Manager.
Resolution: Perform the following:
1. On HP Service Manager navigate to Tailoring => Web Services => Format control and search for cm3r
name.
2. Delete the following parameter line from Initialization Expressions of cm3r:
- HP Service Manager 9.5:
if (jscall("ProcessDesignerEnablement.isChangeEnabled")=true and
jscall("ProcessDesignerEnablement.isMigratedWorkflowUsed", "cm3r", category
in $file)=false and null(completion.code in $file)) then (completion.code in
$file=1)
Resolution: Ensure that the user is present on HP Service Manager for which the ticket is being created.
6 - Change Ticket status displays pending status on IdentityIQ even when ticket is
closed on HP Service Manager.
When HP status and closure code are not mapped in integration configuration file, change ticket status displays
pending status on IdentityIQ even when ticket is closed on HP Service Manager.
For example,
In 2016-08-02 16:52:48,870 ERROR Workflow Event Thread 1
sailpoint.integration.AbstractIntegrationExecutor:380 - Unknown request status: 1 -
Successful is retryable
java.lang.Exception: Unknown request status: 1 - Successful
Resolution: Map HP status code with corresponding IdentityIQ status code in statusMap or
statusMapCloserCode in Integration configuration file.
<entry key="1 - Successful " value="committed" />
Overview
The integration between SailPoint and BMC Remedy Service Desk enables customers to create incidents and
change requests in BMC Remedy Service Desk for the configured operations (for example, Change Password,
Request Entitlement and so on) for the configured application. The seamless integration of SailPoint and BMC
Remedy Service Desk Integration Module eliminates the need to build and maintain a custom integration, and
speeds time-to-deployment.
Note: Enter the following command to enable log4j2 tracing on BMC Remedy Service Desk
component:
logger.integration_SOAPIntegration.name=sailpoint.integration.SOAPIntegr
ation
logger.integration_SOAPIntegration.level=debug,file
Supported Features
IdentityIQ for BMC Remedy Service Desk supports the following features:
• creating ticket for all provisioning operations that can be performed on Target Application accounts
• getting the status of the created tickets
• creating multiple tickets in Remedy System via IdentityIQ
Supported Platforms
IdentityIQ for BMC Remedy Service Desk supports the following versions of BMC Remedy AR System:
• BMC Remedy AR System 18.05
• BMC Remedy AR System 9.1.00
• BMC Remedy AR System 9.0.00
Prerequisites
• BMC Remedy Change Management Application must be installed
• Ensure that the following softwares are operating correctly:
- BMC Remedy AR System
- BMC Remedy Change Management Application
Administrator Permissions
The BMC Remedy Service Desk Integration service account requires the following application permissions:
• Incident Submitter application permission for Incident Management application
Incident Submitter grants access to the Incident Module with the ability to only query and submit Incidents.
This permission may be used in conjunction with Incident Viewer and is superseded by Incident Master and
Incident User.
• Infrastructure Change Submit application permission for Change Management application
Infrastructure Change Submit grants access to the Change Module with the ability to only query and submit
Change requests. This permission is superseded by Infrastructure Change Master and Infrastructure Change
User.
Basic Configuration
The integrated solution speeds the detection and remediation of identity management issues that increase the
risk of compliance violations or security breaches, such as orphaned accounts, policy violations, and
inappropriate access privileges. Organizations can take advantage of a centralized approach spanning thousands
of users and hundreds of resources to strengthen IT controls and provide proof of compliance to auditors and
executive management. The seamless integration of SailPoint and BMC Remedy eliminates the need to build and
maintain a custom integration, and speeds time-to-deployment.
For any IT resources managed by BMC Remedy Service Desk, IdentityIQ automatically creates a trouble ticket
within Remedy Service Desk, passing along all relevant identity data and reviewer comments to populate the
ticket.
To ensure revocation requests get delivered and implemented, IdentityIQ manages all remediation and
revocation requests within a guaranteed delivery model.
To determine the status of user accounts, IdentityIQ performs closed-loop audits on remediation requests and
compares the actual state of user privileges with the original change request. If the request is still open, an alert
will be sent to the reviewer for prompt action and closure.
The integration itself has been designed to be quick to install and easy to use. It makes use of Web Services via
the Remedy Mid Tier to broker communications between the SailPoint server and the AR System server. On the
backside of a user recertification, policy remediation action or access request action, the IdentityIQ server will
direct provisioning and service desk requests to the configured implementers. Based on the IntegrationConfig
configured for each target application, service desk request are issues to a given remediation/implementation
point. Once the IntegrationConfig for Remedy has been loaded into the IdentityIQ server, all change/remediation
actions result in the creation of new service desk request.
At the completion of the change control cycle within IdentityIQ, an “Open Ticket” request is made over the
appropriate SOAP channel to the Mid Tier. From here change request tickets are opened and the new ticket
number is returned to IdentityIQ. The schema for the service request is defined in the IntegrationConfig and
allows for the flexibility to transfer complete details on the service desk request. The default settings will create
a basic ticket as shown in the following figure (Figure 1—Change request).
The following steps should be performed to modify the default Remedy integration configuration for a specific
BMC Remedy application instance.
1. Confirm the default Remedy Change Management Application Web Services exist. This is done by launching
the BMC Remedy Administrator, expanding the appropriate server object and clicking on the “Web Ser-
vices” object.
2. Next, obtain the environment-specific Web Service “endpoint” by performing the following steps:
a. Double-click on the Web Service and select the WSDL tab. Copy the WSDL handler URL into your
buffer (For example, Ctrl-C)
b. With a web browser, visit the WSDL URL for the web service by entering the URL into the browser
address field and pressing return.
c. Search for soap:address location= to find the endpoint URL. Copy this value. It will be used to
replace the endpoint URL in the default IdentityIQ Remedy IntegrationConfig object.
d. Review the Create InputMap section of the WSDL to understand the fields available for population
through the Web Service. These fields should correspond to the fields listed in the <soapenv:Body>
section of the default IdentityIQ IntegrationConfig object
3. Once you are familiar with the WSDL, modify the default IdentityIQ Remedy integration using the informa-
tion collected about the web service.
a. In the <IntegrationConfig> element of the integration configuration, modify the username and
password entries in the attributes map to contain the credentials required for authentication to the
web service.
b. In the <IntegrationConfig> element of the integration configuration, modify the provision entry of
the Attributes map by setting the endpoint, and, if necessary, the namespace, the prefix, the
responseElement, and the soapMessage attributes (the default values: IdentityIQ Remedy
IntegrationConfig):
i. Set the value for endpoint to the value located in the WSDL earlier.
Note: The value in the IdentityIQ integration configuration must be a valid HTTP URL and
have any special characters escaped. The most common change that must be
made is to replace all & symbols with &
ii. The value for namespace comes from the targetNamespace attribute of the xsd:schema
element in the WSDL.
iii. The value for prefix is the prefix of the XML elements that will be contained in the SOAP
response sent by the mid tier server.
iv. The value for responseElement should be the ARS form field that corresponds to the id
of the form that the web service creates.
v. The value for soapMessage should be the SOAP message body that IdentityIQ will send
to ARS. The exact format of this message is a function of the form that is published as
described by the form's WSDL. The XML elements in the soapenv:Body element should
be changed to match the ARS form fields for the published web service. Each required
ARS form field must have an element in the SOAP message. The value can be fixed or can
be a variable that will be substituted using IdentityIQ's Velocity templating.
The information in the reference section above show the variables that are provided and the example integration
configuration provides examples of how they are used.
<ns1:authorization>$config.authentication</ns1:password>
#end
#if ($config.locale)
<ns1:locale>$config.locale</ns1:password>
#end
#if ($config.timeZone)
<ns1:timeZone>$config.timeZone</ns1:password>
#end
</ns1:AuthenticationInfo>
</soapenv:Header>
#end
<soapenv:Body>
<iiq:Get xmlns:iiq="urn:GetAgreementWebService">
<iiq:Issue_ID>$requestID</iiq:Issue_ID>
</iiq:Get>
</soapenv:Body>
</soapenv:Envelope>
]]>
</value>
</entry>
</Map>
</value>
</entry>
#end
</ns1:AuthenticationInfo>
</soapenv:Header>
#end
<soapenv:Body>
<iiq:Get xmlns:iiq="urn:openTicketWebService">
<iiq:Submitter>
#foreach ($req in $provisionPlan.requesters)
$req.name
#end
</iiq:Submitter>
</iiq:SubmitDate>$timestamp</iiq:SubmitDate>
<iiq:Summary>
Remediation request from IIQ
</iiq:Summary>
<iiq:Description>
Remove Active Directory for $provisionPlan.identity.fullname
</iiq:Description>
<iiq:Issue_ID>$requestID</iiq:Issue_ID>
</iiq:Get>
</soapenv:Body>
</soapenv:Envelope>
]]>
</value>
</entry>
</Map>
</value>
</entry>
• multipleTicket: If multipleTicket attribute is defined, then the value can be one of the following:
- True: A separate Remedy ticket would be created for each line item from the IdentityIQ access
request.
- False: Single Remedy ticket would be created against all line items from the IdentityIQ access
request.
Default value: true
The format of the entry is as follows:
<entry key='multipleTicket' value='true'/>
• groupTicketBy: If groupTicketBy attribute is defined, then value can be one of the following:
- none: If the attribute is not defined or if attribute value is other than Application, then IdentityIQ sets
this attribute to none.
- Application: If the attribute value is Application and multipleTicket=true, then IdentityIQ
access request lines from the same application would be moved to a single ticket.
The format of the entry is as follows:
<entry key='groupTicketBy' value='none'/>
Default value: none
For example, the multipleTicket and groupTicketBy keys can be placed in the Integration configuration file as
follows:
<IntegrationConfig>
<Attributes>
<Map>
<entry key="multipleTicket" value="true"/>
<entry key='groupTicketBy' value='none'/>
<entry key="provision">
<value>
<Map>
<entry key="endpoint" value="%%REMEDY_REQ_TICKET_ENDPOINT%%"/>
...
...
...
</Map>
</value>
</entry>
</Map>
</Attributes>
<IntegrationConfig>
where applicationName is the name of the BMC Remedy Service Desk. Therefore the command would be as
follows:
use tst_RemedyIntegration
This makes the application ready for further console commands.
3. Enter the following command to get the connection status:
getRequestStatus ticketNumber
where ticketNumber is the number of the existing ticket obtained from BMC Remedy Service Desk System.
For example, getRequestStatus IM10001
In the above example, IM10001 is the ticketNumber. The following status is returned:
Result: status = committed; request ID = IM10001; warnings = null; errors = null
This indicates that the connection is successful.
Retryable Mechanism
By default IdentityIQ for BMC Remedy Service Desk provides retry mechanism for Connection reset and for
unknown host problems occurred from network issues.
However you can configure retryableErrors list in integration configuration (IntegrationConfig) file to add
new exception strings to the attributes map in the file.
The retryableErrors entry is a list of strings through which the Remedy Integration searches when it receives a
message from the BMC Remedy Service Desk. Only SOAPException strings are considered for retry that is, the
exceptions raised from SOAP web service. If one of the strings in the entry exists in the error, the integration
attempts to retry the request. When the configured error string is not a part of the error message returned from
the BMC Remedy Service Desk, then IdentityIQ will not attempt a retry.
For example,
<entry key="retryableErrors">
<value>
<List>
<String>Connection reset</String>
</List>
</value>
</entry>
Note: Error messages containing very specific information about date/time, sequence ID and so on
must be avoided. Error codes or error message substrings would be good candidates for
inclusion. Only exceptions raised from soap web service are considered for retry.
Sample Scenario
The sample integration scenario is built around a sample system. In the sample scenario IdentityIQ (IIQ) would
be issuing a change request to BMC Remedy Change Management (RCM) based on the results of a scheduled user
entitlement and access review. As a result of remediation actions in this account recertification process,
IdentityIQ would open change requests to control the flow of the manual remediation process.
Scenario
1. The ComplianceManager1 schedules an access review for a business critical application:
a. The certification is scheduled and assigned to ApplicationOwner1.
b. ApplicationOwner1 receives an email with a link to the Online certification process as scheduled.
The link is followed to the open certification.
c. ApplicationOwner1 decides that GroupA on system LDAP should be removed.
d. ApplicationOwner1 decides that RoleA on system RDBMS should be removed.
e. ApplicationOwner1 completes the certification and signs off the process.
2. IdentityIQ evaluates the provisioning plan to enact the remediation requests from the certification:
a. IdentityIQ policy describes the integration execution path for LDAP as being via an automated pro-
visioning system.
b. IdentityIQ policy describes the integration execution path for RDBMS as being via an automated
RCM integration.
3. IdentityIQ creates a service request in RCM:
a. IdentityIQ uses the provision interface to open a service request within Remedy, passing in details
of the changes required to the RDBMS system.
b. RCM responds with the service request number.
c. IdentityIQ stores the service request number for later audit and review.
Troubleshooting
1 - During ticket creation the system is not responding in a normal amount of time
During ticket creation the system is not responding in a normal amount of time resulting in a time out and not
returning the ticket number.
Resolution: Add the timeout additional configuration parameter to the application debug page as follows for
setting the timeout per operation (that is, provision, getrequest):
<entry key="timeout" value="1"/>
MDM systems import users from a central directory server or maintains its own repository. Operations to be
performed on devices are sent to the respective MDM System which then performs the specified action on the
target device. EMM does not communicate with the devices directly.
EMM uses two separate applications to manage users and devices. Main EMM application manages users in the
MDM System and the proxy EMM application manages devices in the MDM System. In some cases there is one
application which manages devices.
This section contains information on “IdentityIQ for AirWatch Enterprise Mobility Management”.
74 SailPoint Integration Guide
Overview
Overview
This chapter provides a guide to the AirWatch Enterprise Mobility Management (EMM) integration and
configuration for your enterprise.
Using this integration, IdentityIQ can retrieve the devices managed by AirWatch, perform operations on them,
and manage AirWatch's user account. These entities are managed in IdentityIQ using separate applications
named as follows:
• AirWatch Enterprise Mobility Management (EMM) Application (referred to as User Application in this
document) for managing AirWatch user accounts
• Device Application (containing the prefix -Devices) is created by IdentityIQ during aggregation and is used
for managing devices.
Supported Features
The AirWatch EMM Infrastructure Module supports the following features:
• Account Management
- Account Aggregation on the user application to bring in AirWatch user accounts
- Account Aggregation on the device application to bring in devices managed in AirWatch EMM
- Delete, Unlock devices
The following table represents what each of the above operation implies to IdentityIQ and AirWatch EMM:
Supported Platforms
IdentityIQ for AirWatch EMM Infrastructure Module supports the following version of AirWatch:
• AirWatch API version 9.5.0.16 and above
Prerequisites
Administrator user configured for AirWatch EMM Application must have the following role for provisioning
activities:
• REST API Devices Read
• REST API Devices Write
• REST API Devices Execute
• REST API Devices Delete
• REST API Devices Advanced
Note: If AirWatch EMM application is behind proxy server, see the “Special Java Considerations”
section of the SailPoint IdentityIQ Installation Guide.
Configuration
This section describes the application and additional operation specific configurations.
Application Configuration
To create an application in IdentityIQ for AirWatch the following parameters are required:
Parameters Description
Application Type AirWatch MIM
AirWatch Admin* Administrator of AirWatch server.
Parameters Description
AirWatch Server* AirWatch server URL where it's REST API are accessible. For
example, https://apidev-as.awmdm.com.
Password* Password of the administrator.
API Key* AirWatch server's API key defined for REST API.
Aggregation
• Aggregation of devices: Before aggregating devices against the device application create a correlation
rule in the device application to map devices to its AirWatch user. For example, UserName is an attribute
of the device which specifies the name of the user it belongs to, and Display Name of the identity is also
UserName. So in correlation rule specify application attribute as UserName and Identity attribute as
Display Name.
• Parameterized device aggregation: By default AirWatch device aggregation retrieves device profiles and
device applications. If you do not want to manage these entities, you can filter them for not being
retrieved into IdentityIQ.
The following configurable parameters impact aggregation:
- aggregateDeviceProfile: (is an application attribute on AirWatch EMM application) determines if the
profiles connected to devices are to be retrieved or not. The default behavior is to retrieve the
profiles connected to the devices. To change this behavior, set the following value through the debug
pages: <entry key="aggregateDeviceProfile” value="false"/>
- aggregateDeviceApp: (is an application attribute on AirWatch EMM Application) determines if the
application installed on devices must be retrieved or not. The default behavior is to retrieve the
applications installed on the device. To change this behavior, set the following value through the
debug pages: <entry key="aggregateDeviceApp" value="false"/>
Provisioning
The following provisioning operations are available in IdentityIQ when integrating with AirWatch:
• Delete device
Delete device
• Delete Device operation from LCM: In addition to Delete Device, you will be prompted to select Entire
Device Wipe or Enterprise Wipe Only options before deleting the device.
• Delete Device operation from Certification: The default wipe operation will be the Enterprise Wipe
Only. To change this default behavior to Entire Device Wipe add the following entry in the application
debug of the device application:
<entry key="defaultWipeFromCertification" value="Entire Device Wipe"/>
Note: If the AirWatch application is already created, update the delete provisioning policy with new
field, name as SecurityPIN and type as String.
Overview
This chapter provides a guide to the integration between Oracle Identity Manager (OIM) and IdentityIQ. This
chapter is intended for Oracle and IdentityIQ System Administrators and assumes a high degree of technical
knowledge.
The integration is achieved by deploying a small web application in the application server that hosts OIM.
IdentityIQ communicates with the web services contained in this application to read and write account
information. Configuration of the OIM integration requires the username and password of the OIM
administrator or another user with sufficient permissions.
Supported Features
The IdentityIQ for Oracle Identity Manager supports the following functions:
• Account Management
- Oracle Identity Manager user aggregation along with the connected child accounts and application
- Create, Update, Delete
- Enable, Disable, Unlock
- Add/Remove Entitlements operations for Oracle Identity Manager connected child accounts
• User Management
- Manages Oracle Identity Manager Users as Accounts
- Create, Update, Delete
- Enable, Disable, Unlock
- Add/Remove Entitlements operations for Oracle Identity Manager Users
Supported Platforms
IdentityIQ for Oracle Identity Manager supports the following versions of Oracle Identity Manager:
• Oracle Identity Manager 11g R2
• Oracle Identity Manager 11g R1
Note: The password would be encrypted once user saves the application.
2. Update the existing xellerate.properties file by providing the new parameters (localUser and local-
Password) as follows:
#localUser=admin
#localPassword=Sailpoint
The localUser and localPassword properties are used for authentication:
- End User is expected to provide user and password of application server (Weblogic)
- User can be found at Weblogic Application Server console: Security Realms ==> myrealm ==>Users
and Groups
3. For setting the authentication, update the web.xml file as follows:
<web-app>
<display-name>OIM Service</display-name>
<servlet>
<servlet-name>OIM REST Servlet</servlet-name>
<servlet-class>sailpoint.integration.oim.OIMRestServlet</servlet-class>
<init-param>
<param-name>handler</param-name>
<param-value>sailpoint.integration.oim.OIMIntegration</param-value>
</init-param>
<init-param>
<param-name>authenticator</param-name>
<param-value>sailpoint.integration.oim.OIMBasicAuthenticator</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>OIM REST Servlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
</web-app>
You should see a response containing the names of all OIM users. This might take a while to assemble
depending on the number of users. To view details of a particular user, enter the following URL where
<OMIUSER> is the name of a user in your OIM instance:
http://localhost:8080/iiq/resources/user/<OIMUSER>
To see additional diagnostic information for of a particular user, enter the following URL where <OMIUSER>
is the name of a user in your OIM instance:
http://localhost:8080/iiq/resources/debug/<OIMUSER>
If you are unable to request user information, there may be a problem with the credentials you entered in
the xellerate.properties file. For more information, see “Properties that can be defined in
xellerate.properties” on page 10.
Note: Before IdentityIQ 6.0 there was a parameter in xellerate.properties file as oldChildFormNames
which was used for the resources who have only one field in the childform, for example, Active
Directory resource. For IdentityIQ version 6.0 onwards, the value must be set to true if the user
wants to support oldChildFormNames where field returned would be form name + field name
(For example, UD_ADUSRC:UD_ADUSRC_GROUPNAME field in Active directory).
6. To aggregate all the active and disabled OIM users in IdentityIQ, add a new parameter OIM_USER_TYPE in
xelerate.properties file with the value as ALL. If OIM_USER_TYPE parameter is deleted from the
xelerate.properties file then only the active OIM users will be aggregated. By default only active OIM
user are aggregated.
Use the ping command to initiate a test connection message with OIM. A successful connection will return the
following message:
Response: Connection test successful
If any problem occurs in the communication of this application with the OIM Integration Web Application,
troubleshoot this application by viewing the application server logs for both the IdentityIQ and OIM application
servers. You can enable log4j tracing on both sides by using the following:
log4j.logger.sailpoint.integration=debug
log4j.logger.sailpoint.connector=debug
This lets you see if the requests are transmitting over the network, and how they are processed.
If the OIM servlet is deployed on Weblogic 11g, tracing can be enabled on it by adding an entry to the logging file
on the Weblogic server. Following is the logging file:
<DOMAIN_HOME>/config/fmwconfig/servers/oim_server1/logging.xml
For more information on enabling system logging in OIM is included in the Oracle Identity Manager Administrator
Guide.
Known/Open Issues
Following is the known/open issue of Oracle Identity Manager:
• You cannot perform provisioning operations simultaneously on the OIM server from IdentityIQ and the
OIM console. This is a class loading issue observed with OIM 11g, after deploying iiq servlet(iiq.war) on
Weblogic OIM Managed Server.
Workaround for this issue: Create another, empty WLS(Weblogic)Managed server next to the OIM
Managed Server and only deploy the IIQ Servlet. Also, update the Xellerate.properties file by
un-commenting the attribute java.naming.provider.url. This Url needs the host name of the host where
OIM managed server is deployed and the listening port of the OIM managed server.
• Create OIM user and Update OIM user operations are not working with Oracle Identity Manager 11g R2.
Overview
This chapter is designed to provide the necessary procedures, configuration steps, and general product
guidelines to successfully integrate IBM Security® Identity Manager (ISIM) into your IdentityIQ production
environment.
This chapter is intended for ISIM and IdentityIQ System Administrators and assumes a high degree of technical
knowledge of these systems.
Note: Consider the terminologies ISIM and ITIM to be the same throughout the document.
Supported Features
The IdentityIQ for IBM Security Identity Manager provides the ability to provision Target Application accounts
from IdentityIQ.
The IdentityIQ for IBM Security Identity Manager supports the following functions:
• User Management
- Manages IBM Security Identity Manager Users as Accounts
- Aggregating Users, Provisioning ISIM Roles
• Target Application Accounts Management
- Manages Target Application Accounts as Accounts
- Aggregating Target Accounts directly
- Create, Update, Delete
- Enable, Disable, Reset Password
Supported Platforms
IdentityIQ for IBM Security Identity Manager supports version 6.0 of IBM Security Identity Manager.
General Configuration
The installation steps for ISIM integrations vary based on the functions you wish to perform. IdentityIQ in
conjunction with ISIM allows the following functionality:
• Aggregation
• Provisioning Entitlements in ISIM
Leave the search filter blank. This is auto-generated correctly during aggregation. This application is used to
aggregate ISIM person objects.
2. Setup Correlation Attribute: Create an identity attribute that is sourced from the erglobalid on the ISIM
application and mark it as search-able. This is used to correlate ISIM accounts to this identity.
3. Create ISIM Account Applications: Run the ITIM Application Creator task to inspect ISIM and retrieve infor-
mation about the ISIM services (applications). This task auto-generates an application for each service
defined in ISIM.
4. Setup Correlation on the ISIM Account Applications: Set the correlation rule on the generated applications
to Correlation - ISIM Account. This correlates the account to the identity using the erglobalid. If the rule
is not listed by default, import it from the $ISIM_INTEGRATION_PACKAGE/samples/ITIM-Account-
CorrelationRule.xml location.
5. Aggregate: Run aggregation for the ISIM application first and then for each ISIM account application.
1. Prepare the WAR: The iiqIntegration-ITIM.war file contains a properties file named itim.proper-
ties with information about how to connect using ISIM. In order to execute, this must be edited to
include appropriate information about the ISIM installation. Additionally, the .war file does not include any
of the required jar files of ISIM files since these can change depending on the version and fixpack level of
ISIM. These need to be copied out of the ISIM lib directory and added to the .war file.
a. Expand the iiqIntegration-ITIM.war file in a temporary directory.
b. Edit the WEB-INF/classes/itim.properties file and change the properties match your
environment. Save the file with your changes. The following can be changed:
• PLATFORM_URL: URL to use to communicate with ISIM.
The format of the URL must be same as the value of enrole.appServer.url from
enRole.properties located under <ITIM-HOME>/data directory.
• PLATFORM_PRINCIPAL: The administrator user who can login to the administrator Console
of WAS.
• PLATFORM_CREDENTIALS: Password of the principal. Encrypting password is supported.
• TENANT_DN: The root DN of the ISIM tenant.
c. Copy the required jar files of ISIM into the lib directory. These .jar files are located in the deployed
ISIM ear directory.
(For ISIM 6.0): Example ISIM ear directory:
$WAS_HOME/profiles/<app server>/installedApps/<cell>/ITIM.ear
Following are the required files:
• api_ejb.jar
• itim_api.jar
• itim_server_api.jar
Note: If user wants to provision the ISIM roles attribute from Lifecycle Manager flow then change the
property of the ITIM role application Account schema attribute for Identity Security Manager
(parent) to managed and multivalued. By default, the ISIM Roles will not be provisioned.
Note:
Troubleshooting
1 - An error message appears when the url format in itim.properties is not valid
The following error messages appear when the url format in itim.properties is not valid:
• java.lang.NoClassDefFoundError: com.ibm.cv.CVProxyException
Workaround: Copy com.ibm.cv.kmip.ext.jar file to <WAS-HOME>/profiles/<App
server>/classes directory and restart the application server.
• java.util.MissingResourceException: Can't find resource for bundle tmsMessages
Workaround: Copy tmsMessages.properties and tmsMessages_en.properties file from
<ISIM-HOME>/data to <WAS-HOME>/profiles/<App server>/classes directory and restart the
application server.
Supported Features
IdentityIQ for Amazon Web Services supports the following features:
• Account Management
- IAM Entities Management
• Manages IAM Users under the AWS Account as Accounts
• Aggregate, Refresh Accounts
• Create, Update, Delete
• Change Password
• Add/Remove Entitlements (Groups, AWS Managed Policies, Customer Managed Policies)
• Enable, Disable
For more information on enabling and disabling, see “IAM User Status” on page 32.
• Group Management
- IAM Entities Management
• IAM Groups: Aggregate, Refresh Group, Create, Update, Delete
• AWS Managed Policy Management: Aggregate, Refresh
• Customer Managed Policy Management: Aggregate, Refresh, Create
• Inline Policy Management: Aggregate, Refresh
Note: Inline Policy can be removed only through Certification.
• Role Management: Aggregate, Refresh, Update (Add/ Remove AWS Managed Policy or
Customer Managed Policy from Role)
- Organization Entities Management
The AWS Governance Module also supports following operation on Organization Entities (managed as
group object only):
• AWS Accounts Management: Aggregate, Refresh
• Organization Unit Management: Aggregate, Refresh
• Service Control Policy Management: Aggregate, Refresh
• Permissions Management: AWS Governance Module supports JSON Policy for Permission Policy and
Trust Policy as direct permission.
The Permission Policy for following AWS entities are represented as direct permission:
- AWS Managed Policies
- Customer Managed Policies
- Inline Policies
- Service Control Policies
The Trust Policy for following AWS entity is represented as direct permission:
- Roles
The supported features mentioned in this section can be represented in matrix form as follows:
Object Type IdentityIQ Aggre- Re- Create Update Delete Request User
Type gation fresh -able Status
IAM User Account
NA
Roles* Group
NA NA NA NA
Note: * Role aggregation takes care of aggregating the trust polices (entities that can assume a role)
as direct permission.
Prerequisites
• Create Service IAM User as follows and assign the required permission to perform the operations (as
mentioned in “Administrator Permissions”):
Service User Requirement:
- Service User In Master AWS Account:
• To manage the organization entities like SCPs, OUs and AWS Accounts, it is required to create
Service IAM User in master AWS Account. Service IAM User must be present in the master
account with the required permissions. Additionally, all the organization related permissions
must be given through the role present in master account.
• (If Manage All Accounts is selected in “Configuration Parameters”) To manage all AWS accounts,
the service user must be in the master account to get all the AWS Account IDs.
- Service User In Member AWS Account:
• (If Include AWS Account IDs is selected in “Configuration Parameters”) To manage only IAM
entities of various AWS Account, create Service IAM User in any of the AWS Account by deleting
the schema objects of Organization Entities.
• Ensure that you create Cross Account Role across the AWS Accounts with same name and assign the
permissions as required.
For more information on creating the Cross Account Role, see “Creating Cross Account Role” on page 33.
Note: The trust relationship must be established with the account explicitly in which the Service IAM
User belongs to, along with other AWS Accounts that are to be managed.
Administrator Permissions
Customer Managed Policies must be created and attached to the AWS Service IAM User and Role respectively as
mentioned in the table below.
Note: The AWS System Administrator can refine the Permission Policies as needed.
Note: If ‘Include AWS Account IDs’ list is specified and organization schema is not present in the
application, then ‘iam:GetUser’ API permission is not required for AWS Service IAM User.
The description for the policy name and role that are used is as follows:
• SPServiceIAMUser: an IAM account in the master (or designated Service IAM User) account that is used
as the connector’s service account to your AWS environment.
• SPOrganizationPolicy: allows management of Organization entities. This will only be created if the
ServiceIAMUser is created in your organization’s AWS master account.
• SPAggregationPolicy: allows mostly read access in order to aggregate IAM entities from your AWS
environment.
• SPProvisioningPolicy: allows write access for provisioning IAM entities back to your AWS environment.
• SPServiceIAMUserAccess: a role that will have the above mentioned policies and will allow the
ServiceIAMUser to perform all the necessary tasks needed for the connector to work.
The following table lists the examples of policies for the respective policy names:
For Role
SPOrganizationPolicy {
"Version": "2012-10-17",
(Must be assigned to the "Statement": [
Role which is in master {
AWS Account to manage "Sid": "VisualEditor0",
Organization Entities) "Effect": "Allow",
"Action": [
"organizations:ListPoliciesForTarget",
"organizations:ListAccountsForParent",
"organizations:ListRoots",
"organizations:ListAccounts",
"organizations:ListTargetsForPolicy",
"organizations:DescribeOrganization",
"organizations:DescribeOrganizationalUnit",
"organizations:DescribeAccount",
"organizations:ListParents",
"organizations:ListOrganizationalUnitsForParent",
"organizations:DescribePolicy",
"organizations:ListPolicies"
],
"Resource": "*"
}
]
}
Note: For all provisioning operations, in addition to the provisioning policy permissions listed for
“SPProvisioningPolicy” the permissions for “Refresh Operations”are also required.
Note: For more information on operation specific administrator permissions required for IAM and
Organization APIs, see “Operation Specific Service IAM User permissions” on page 33.
Configuration Parameters
The following table lists the configuration parameters of AWS Governance Module:
Parameters Description
Access Key ID* Enter the Access Key ID of the Service IAM User.
Secret Access Key* Enter the Secret Access Key of the Service IAM User.
Parameters Description
Role Name Enter the role name that is created in all the AWS Accounts that are to be
aggregated.
Note: If the Amazon Resource Name (ARN) of the role contains a path,
then it should be created with same path and name in all the AWS
accounts. Input value must be provided as follows:
<entire Role Path>/<Role Name>.
Manage All Accounts When checked, will manage IAM entities from all the accounts.
Exclude AWS Account IDs Lists all the AWS Account IDs that are to be excluded.
Include AWS Account IDs Lists all the AWS Account IDs that are to be included.
Page Size The maximum size of each dataset when querying over large number of
objects for IAM entities. Default: 100
Note: Parameters with * sign are mandatory parameters.
Parameters Description
assumeRoleDurationInSeconds The duration, in seconds, of the role session. The value can range from
900 seconds (15 minutes) up to the maximum session duration setting
for the role.
Schema Attributes
The following schema attributes are defined:
• Account Schema
• Group Schema
Account Schema
The following table lists the account schema:
Group Schema
The following table lists the group schema:
Account
• Create: The following table lists the attributes that are required for creating an account.
Name Description
User Name* Enter the user name for IAM user.
AWS Account* Enter the Account ID or ARN of the AWS Account under which the IAM user is to
be created.
Password Enter the password for IAM user that allows users to sign-in to the AWS
Management Console.
Require Password Users must create a new password at next sign-in. Users automatically get the
Reset IAMUserChangePassword policy to allow them to change their own password.
Programmatic Create an access key ID and secret access key for Programmatic Access.
Access
Path Specify the path to the IAM user.
• Enable: The following table lists the attributes that are required for enabling an account.
Name Description
Password Enter the password for IAM user that allows users to sign-in
to the AWS Management Console.
Access Keys Enables the recent access key.
AWS CodeCommit SSH Keys Enables the recent SSH key.
AWS CodeCommit HTTPS Credentials Enables th recent HTTPS credential.
Group
• Create: The following table lists the attributes that are required for creating a group and customer
managed policy.
Name Description
Group
Group Name* Enter the group name for IAM group.
AWS Account* Enter the Account Id or ARN of the AWS account under which the IAM group is to
be created.
Path Specify the path to the IAM group.
CustomerManagedPolicy
Policy Name* Enter the policy name.
AWS Account* Enter the Account Id of the AWS account under which the IAM Policy is to be
created.
Policy Description Enter the policy description.
Policy JSON* Enter the policy document as a JSON string.
Path Specify the path to the policy.
• Update: The following table lists the attributes that are required for updating group and role.
Name Description
UpdateGroup
Group Name Enter the group name for the IAM group.
Path Specify the path to the IAM group.
ARN ARN of the group.
Creation Date Creation date of the group.
AWS Managed Policies Select the AWS managed policies name to be attached.
Customer Managed Policies Select the Customer managed policies name to be attached.
Inline Policies Associated inline policies.
UpdateRole
Role Name Role name for the IAM role.
Path Path to the IAM role.
ARN ARN of the role.
Creation Date Creation date of the role.
MaxSessionDuration Duration in seconds for which this role can be assumed.
Trust Policy JSON Trust policy JSON attached to the Role.
Name Description
AWS Managed Policies Select the AWS managed policies name to be attached.
Customer Managed Policies Select the Customer managed policies name to be attached.
Inline Policies Associated inline policies.
Additional Information
This section describes the additional information related to the AWS Governance Module setup.
• Disable
- Deletes Console Password
- Inactive Both Access Keys
- Inactive Both AWS CodeCommit HTTPS Credentials
- Inactive All AWS CodeCommit SSH Keys
- Inactive Signing Certificates
Organization APIs
The following table lists the IdentityIQ operations along with the corresponding IAM APIs used for managing
organizational entities:
Overview
SAP Enterprise Resource Planning software solution is an integrated software solution that incorporates the key
business functions of the organization.
The IdentityIQ for SAP ERP aggregates and provisions all the users along with their roles/profiles of the SAP
system.
IdentityIQ for SAP ERP supports provisioning to a standalone SAP system as well as SAP Central User
Administration (CUA) system.
Supported Features
IdentityIQ for SAP ERP supports the following features:
• Account Management
- Manages SAP users as Accounts
- Aggregation, Partitioning Aggregation, Delta Aggregation, Refresh Accounts, Pass Through
Authentication
For more information on Delta Aggregation and Partitioning Aggregation, see “Additional Information”
on page 59.
- Create, Update, Delete
- Enable, Disable, Unlock
- Change Password
- Add/Remove Entitlements
Entitlements are Roles (for user), Profiles (for user), UserGroup (User group of the user).
- Add /Remove Contractual User Type ID
• Account - Group Management
- Manages SAP Roles as Account-Groups
- Manages SAP Profiles as Account-Groups
- Aggregation, Refresh Groups
Notes
The following table lists the notes of the respective supported features:
Account - Group Aggregation In Account-Group aggregation for SAP CUA landscape, IdentityIQ for SAP
ERP will not fetch child roles, child profiles of any composite role and
profile, as CUA system does not maintain child level roles and profile
details for child subsystems. Same way it will not fetch TCodes and
Generated Profile for group object type.
Prerequisites
SAP JCO version 3.0.x libraries, along with sapjco3.dll (on Microsoft Windows) or libsapjco3.so (on UNIX),
must be present in the java.library.path directory on the host. The JCO libraries (JCO Release 3.0.x) must
be downloaded from the SAP website by navigating to the customer service marketplace and download the Java
Integration Module.
Administrator Permissions
The following table lists the required permissions for the specific operations mentioned below in this section:
The role assigned to the SAP Administrative user must have the following Authorization Objects as mentioned in
the tables below.
Test Connection
Account Aggregation
Group Aggregation
Delta Aggregation
Enable/Disable/Unlock Account
Delete Account
Configuration Parameters
The following table lists the configuration parameters of IdentityIQ for SAP ERP:
Parameters Description
SAP Host* Host on which the SAP Server is running
System Number* 2-digit SAP system number (Default: 00)
Client Number* 3-digit SAP client number (Default: 001)
Client Language* 2-letter SAP client language (Default: EN)
Username* SAP Administrator user
Password* SAP Administrator user password
CUA system For CUA system detection
Parameters Description
Unlock on Password Change If checked, the account would be unlocked while changing password.
Note: Account will be unlocked at the time of set password only if the
account is locked by incorrect password attempts.
Partition Enabled Check box to determine if partition aggregation is required.
Partition Statements Criteria to specify the range of users to be downloaded.
For example, If the range is specified as A-M, then this specifies that all
the users whose User IDs are between A and M (including A and M) would
be treated as one partition and downloaded.
To specify more than one partition the entries should be separated using
a new line character. For more information, see “Partitioning
Aggregation” on page 63.
Load Balance Configuration parameters
Load Balancer Select this to configure and enable load balancing on this application.
Host SAP message server host.
Note: Required for a logon load balanced connection.
Client Group Logon group name of SAP application servers.
Port Number SAP message server service or port number.
SNC Configuration parameters
SNC Mode Represents Secure Network Connection which also internally signifies
jco.client.snc_mode in SAP. SNC will be enabled if the mode is
selected as ON whose value is 1. If SNC is off, the value will be 0.
SNC Level of Security Represents the quality of protection level (QOP) which is defined as
follows:
Parameters Description
SNC Library Path to library which provides SNC service. It internally signifies
jco.client.snc_lib.
Note: Enabling this parameter can result in printing of secure data in logs.
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Attributes Description
Academic Title (Address) Academic title of the user.
Academic Title 2 (Address) 2nd Academic title of the user.
Addr Number (Address) Address number of the user.
Attributes Description
Alias (Logon Data) Alias name.
Birth Name (Address) Name at birth.
Building (Address) Name of the building.
Building 2 (Address) Name 2 of the building.
Building Long (Address) Long name of the building.
Care of (Address) Care of name.
Check Status (Address) Check status for the user.
City (Address) Name of the city.
City Number (Address) Number of the city.
Code (Address) Signature initials
Communication Language (Address) Communication language of the user.
Attributes Description
First name (Address) First name of the user
Floor (Address) Floor number
Floor 2 (Address) Floor 2 number
Format (Address) Format name
Full Name (Address) Full name of the user
Full Name 2 (Address) Full name 2 of the user
Function (Address) Function of the user
GUI Flag Unsecured communication permitted.
House Number 2 (Address) House number 2 of the user
House Number (Address) House number of the user
House Number 3 (Address) House number 3 of the user
Inhouse ML (Address) Inhouse mail of the user
Initials (Address) Initials of the user
Language CR P (Address) CR P language of the user
Language ISO (Address) ISO language of the user
Language UCP ISO (Address) CP ISO language of the user
Language UP ISO (Address) P ISO language of the user
Last Name (Address) Last name of the user
Location (Address) Location name
Logon Language (Defaults) Logon language for the user.
Attributes Description
PCODE 3 Ext (Address) Postal code 3 extension
PO Box (Address) PO box number
PO Box City (Address) PO box number of the city
PO Box City ISO (Address) PO box number of the ISO city
PO Box Country (Address) PO box number of the country
PO Box Region (Address) PO box number of the region
PO Box Without Number (Address) PO box without number
Postal Code (Address) Postal code of the user
Postal Code 2 (Address) 2nd postal code of the user
Postal Code 3 (Address) 3rd postal code of the user
Prefix 1 (Address) 1st prefix
Prefix 2 (Address) 2nd prefix
Print Immediately (Defaults) Print immediately flag for the user
Printer List (Address) Print destination list
Region (Address) Name of the region
Region Group (Address) Group name of the region
Remote Communication List Communication notes list
(Address)
Remote Function Call List (Address) Remote function call destination list
Remote Mail List (Address) Remote mail list of the user
Room Number (Address) Room number of the user
Room Number 2 (Address) 2nd room number of the user
Reference User Reference user name.
Search Term 2 P (Address) 2nd search term P for the user
Search Term P (Address) Search term P for the user
Search Term 1 (Address) 1st search term for the user
Search Term 2 (Address) 2nd search term for the user
Second Name (Address) Second name of the user
Start Menu (Defaults) Start menu for the user
Street Abbreviation (Address) Street abbreviation for the user
Street Address (Address) Street address of the user
Street Address 2 (Address) Street address 2 of the user
Street Address 3 (Address) Street address 3 of the user
Street Address 4 (Address) Street address 4 of the user
Attributes Description
Street Number (Address) Street number of the user
SNC Name SNC name.
Tax Jurisdiction Code (Address) Tax jurisdiction code of the user
Telephone (Address) Telephone number
Telephone Extension (Address) Telephone extension number
Telephone List (Address) Telephone number list
Teletex List (Address) Teletex number list
Telex List (Address) Telex number list
Time Format (Defaults) Time format of the user
Time Zone (Address) System time zone.
Title (Address) Title of the user
Title SPPL (Address) Title SPPL of the user
Transportation Zone (Address) Transportation zone of the user
TZone (Defaults) Personal time zone.
URL (Homepage) List (Address) URL (Homepage) address list in the format URI_type#URI_name
User Last Logon Time User last log in time.
User Last Logon Date User last log in date.
Productive Password User password set in permanent mode.
User Name User Name.
User Title (Address) Title of the user
User Type (Logon Data) Type of the user
User Valid From (Logon Data) Valid from date for the user
User Valid To (Logon Data) Valid to date for the user.
User Group (Groups) User group of the user
X.400 List (Address) Organization name list
Roles Roles for user.
Note: The Account Aggregation fetches the active roles
(composite /simple) assigned directly to the user.
Profiles Profiles for user.
Group Attributes
The following table lists the different group attributes:
Attributes Description
Group Object Type = Role
Name Role name.
Type Role type.
Description Role description.
Child Roles Sub Role list.
Note: The child roles will display the child roles of composite roles in the
Group object properties of Entitlement Catalog. For existing applications
which are getting upgraded, mark entitlement as true to display the child
roles in Entitlement grid of Group object properties.
Long Description Role long description.
Subsystem System name for CUA System Aggregation.
Generated Profile System generated profile associated to Role which has authorizations.
TCodes Transaction code list.
Authorization Objects Authorization objects associated with role.
Group Object Type = Profile
ID Profile name along with the description.
Name Profile name.
Type Profile type.
Description Profile description.
Subsystem System name for CUA System Aggregation.
Child Profiles Sub profile list.
Upgrade Considerations
While upgrading to IdentityIQ version 8.0 Patch 2, perform the following changes at schema level:
• Ensure that in Role schema, following attributes are added with appropriate properties:
- Generated Profile
- TCodes (Entitlement, Multi-Valued)
- Authorization Objects
• In order to achieve the profile aggregation functionality for an existing application in previous releases it
is recommended to perform the following procedure:
- Add Profile schema under the Settings tab in the application page
- In Account Schema the schemaObjectType attribute of Profiles must be changed to profile.
• To skip the inactive roles assignment during aggregation, add the following line in the application debug
page:
<entry key="skipInactiveRoles" value="true"/>
Note: When upgrading IdentityIQ from version 6.x to 8.0 Patch 2, ensure that the ‘Include
Permissions’ check box in Role schema is not selected.
• To fetch Contractual user types associated with user after upgrading IdentityIQ to version 8.0 Patch 2, add
the Contractual User Type ID attribute to the application with:
- Property: Multi-Valued
- Data Type: string
Note: Only the active Contractual User ID assigned to the user would be aggregated.
• To support aggregation and provisioning of Contractual User Type ID in the language configured in SAP
Direct application, configure the following entry key as true:
<entry key="useClientLanguageForLicense" value="true"/>
Attributes Description
User Name* Name of the user to create.
password Password for the user.
Last Name* Last name of the user.
Additional Information
This section describes the additional information related to the IdentityIQ for SAP ERP.
CUA Support
By default the IdentityIQ for SAP ERP would not download data from CUA configured SAP System. In order to
override this behavior, the CUASystem configuration parameter must be checked in configuration parameter list.
Entitlement Data
The aggregated entitlement data consists of the following:
• SAP Roles (Simple and Composite)
• SAP Profiles (Simple and Composite)
Password Change
The following change password policy must be added to set password as productive using administrative change
password request.
<Form name="con_prov_policy_user_create_username" objectType="account"
type="ChangePassword">
<Attributes>
<Map>
<entry key="IIQTemplateOwnerDefinition">
<value>
<DynamicValue value=""/>
</value>
</entry>
</Map>
</Attributes>
<Field displayName="Productive Password" filterString=""
helpKey="ProductivePasswordFlag" name="Productive Password" required="true"
type="string" value="true">
<AllowedValuesDefinition>
<Value>
<List>
<String>true</String>
<String>false</String>
</List>
</Value>
</AllowedValuesDefinition>
</Field>
</Form>
Delta Aggregation
This section describes the procedure for configuring the SAP Connector for Delta Aggregation.
Supported attributes
The SAP Direct Connector supports Delta Aggregation for the following attributes:
• User created
• User deleted
• Password
• User Type
• Administrator lock set // IdentityIQ Disabled
• Administrator lock released // IdentityIQ Enabled
• Incorrect logon lock set // IdentityIQ Locked
• Incorrect logon lock released // IdentityIQ Unlocked
• Validity Period
• Account Number
• User Group
• SAP Profile(s) Assigned
• SAP Profile(s) Deleted
• Security Policy
Prerequisites
Copy the API Transport files to SAP. Use the following procedure to unpack and import the transport files function
modules:
1. Copy the transport files.
Transport request is contained in the ImportSAPDirect.TAR compressed file.
The compressed file for each release contains the following files:
- RrequestNumber.sapId
- KrequestNumber.sapId
Using WinZip or a similar utility, uncompress and copy each file from the appropriate compressed file to the
subdirectory of the local transport directory of the target SAP system as follows:
- Copy the RrequestNumber.sapId file to the
sapHomeDir\trans\data\RrequestNumber.sapId directory.
OR
- From the menu, select Tools => Administration => Transports => Transport management system.
3. In the Transport Management System window, press F5.
4. In the Import Overview window, double-click your system queue.
The requests list for the system is displayed.
5. From the menu bar in the Import Queue window, select Extras => Other requests => Add.
6. Enter the request number and click Yes.
7. In the Attach to import queue message box, click Yes.
8. In the Import Queue window, click on the new line, and then press Ctrl + F11 to import the request.
9. In the Import Transport Request dialog box, perform the following:
a. In the Target client field, enter the name of the SAP client to which you want to import the trans-
port.
b. On the Date tab, under Start Date, set the values that you require.
c. On the Execution tab, under Import, ensure that Synchronous is selected.
d. On the Options tab, under Import options, ensure that all of the check boxes are selected.
10. In the Start Import dialog box, click Yes.
Verification
All non-validated function modules are transported as a function group whose name starts with SailPoint’s
unique namespace ("/SAILPOIN")
To verify that the required function modules have been imported in to the SAP system, perform the following:
1. In the SAP system, execute SE37 transaction.
2. Enter: /SAILPOIN/* in the Function Module field.
3. Press the F4 key.
This displays the Repository Info System window that lists all the imported functional modules currently
available on the SAP system as follows:
- SAILPOIN/USR_CHANGE_DOC_ROLES
- SAILPOIN/USR_CHANGE_DOC_USERS
Partitioning Aggregation
To use the partitioning aggregation feature in IdentityIQ for SAP ERP perform the following:
1. Select the Partition Enabled check box.
2. Specify the criteria for partitioning in the Partition Statements textbox of the configuration parameter.
IdentityIQ for SAP ERP accepts multiple characters in partition statement.
For example, -AZ, -MZ, KA-RL, SA-SZ and ABG-ASHI
The AL- and K- values are not accepted in the partition statement.
To specify more than one partition the entries must be separated using a newline character.
Troubleshooting
Workaround: In the debug page rename Password in permanent mode to Productive Password in schema and
provisioning plan.
4 - Few attributes are not working after upgrading to version 8.0 Patch 2
Few attributes are not working after upgrading from version 6.0 patch 7 and version 6.1 to version 8.0 Patch 2.
Resolution: Open the application debug page of version 6.4 and use the following corresponding parameters:
Parameters used in version 6.0 patch 7/6.1 Parameters to be used in version 8.0 Patch 2
Password in permanent mode Productive Password
Deactivate Password Deactivated
LASTNAME Last name
Reference User Name Reference User
User Last Login User Last Logon Time
5 - Login fails for non aggregated accounts when pass through is enabled
Login fails for non aggregated accounts when pass through is enabled.
In IdentityIQ for SAP ERP the SAPJCO libraries are used, which need permission to make connection with SAP
Server. The user who does not have these permissions will not be able to log in and will not be a valid member
of the authentication process.
Resolution: Perform the following to add the administrator permissions:
1. Run the PFCG transaction (Profile generator, maintain your roles, authorizations, and profiles) and enter
the role name.
2. Click on Single and save the Role created.
3. Click on Authorization Tab => Display Authorization Data.
Template will appear, cancel the template.
4. Click on Manual tab and add the following:
- S_RFC (All Activities)
- S_USER_AGR (Activities: 02, 03, 22, 36, 78)
- S_USER_GRP (Activities: 01, 02, 03, 05, 06, 22, 78)
- S_USER_PRO (Activities: 01, 02, 03, 06, 07, 22)
- S_USER_AUT (Activities : 03, 08)
- S_USER_SAS (Activities : 01, 06, 22)
- S_TABU_DIS (Activities: All Activities)
(Additionally for SAP CUA System) S_USER_SYS (Activities: 03, 59, 68, 78)
- Click on the Generate (Shift+F5) icon.
- Click on the Save (Ctrl+S) icon.
- Click on Back (F3) icon.
5. Click on the Generate (Shift+F5) icon and assign the above created role to a SAP user who must be an
administrator.
6. Run the PFCG transaction.
7. Provide the role name which the customer has created.
8. Click on USER tab => User Comparison.
Resolution: Open the SAP-Direct application debug page and set the following parameters:
<entry key="lastAggregationDate" value="2014-06-21"/>
<entry key="lastAggregationTime" value="20:54:34"/>
In the above parameters the format of Date and Time are as follows:
• Date: yyyy-MM-dd (the date should be the current date of the SAP server)
• Time: HH:mm:ss (the time should be the current time of the SAP server)
Or skip aggregation of license data of the user by adding the following entry key in debug pages of the application:
<entry key="skipLicenseData">
<value>
<Boolean>true</Boolean>
</value>
</entry>
Resolution: Download the latest SAPJCO.jar and SAPJCO.dll files from SAP Marketplace and then use that
SAPJCO Jar file with the latest downloaded SAPJCO dll file.
11 - Login to IdentityIQ fails for username and password with utf8 characters
The following error message appears when login to IdentityIQ for username and password with utf8 characters:
ERROR http-8080-1 sailpoint.server.Authenticator:323 -
sailpoint.connector.AuthenticationFailedExcept
com.sap.conn.jco.JCoException: (109) RFC_ERROR_CANCELLED: Handle close pending
Resolution: Ensure that the administrator user specified in application has sufficient rights on the SAP systems
as mentioned in the “Administrator Permissions” on page 45 section.
14 - Test Connection fails with an error even when all the required libraries are
there in the required path
Test connection fails with the following error may be due to the libraries not getting loaded in Java even when all
the required libraries are there in the required path:
[ConnectorException] [Error details] Destination Listener not initialized. Please
make sure that all required libraries are in path.
Overview
SAP S/4HANA is an Enterprise Resource Planning (ERP) Business Suite based on the SAP HANA in-memory
database with which transactions and business data analysis can be performed in real-time.
IdentityIQ for SAP ERP - S/4HANA Cloud supports aggregating and provisioning for the Business users along with
their business roles of the SAP S/4HANA system.
Supported Features
IdentityIQ for SAP ERP - S/4HANA Cloud supports the following features:
• Account Management
- Manages SAP S/4HANA business users of Employee type as Accounts
- Enable/Disable Account
- Aggregation
- Add/Remove Entitlements (Business Roles)
• Account - Group Management
- Manages Business Roles as Account-Groups
- Aggregation
Note: Group Aggregation is supported through reading of roles data through CSV files. For more
information, see “ Prerequisites”.
Prerequisites
1. Create Communication Users, System and Arrangement on the SAP system for the SAP S/4HANA Cloud con-
nector.
2. Export the Role Data.
For more information on exporting the role data and creating the communication users, system and
arrangement, see SAP S/4HANA Cloud Prerequisites.
Administrator Permissions
The following table lists the required permissions for the specific operations mentioned below in this section:
The administrative user must have access to the following Inbound Services to perform the operations:
Configuration Parameters
The following table lists the configuration parameters of IdentityIQ for SAP ERP:
Parameters Description
S/4HANA Connection Settings
URL* URL to connect to the S/4HANA Cloud system.
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Attributes Description
First Name First name of business user.
Last Name Last name of business user.
Person External ID Person external ID of business user.
Business Partner Role Business partner role of business user.
Person ID Person ID of business user.
Email Email address of business user.
User Name User name of business user.
User ID User ID of business user.
Employee Date Valid From Employment start date of the business user.
Employee Date Valid To Employment end date of the business user.
Is Locked Is business user locked.
Business Roles Business roles assigned to business user.
Group Attributes
The following table lists the group attributes:
Attributes Description
Business Role UUID Business Role Universally Unique Identifier.
Business Role ID Business Role ID.
Troubleshooting
Resolution: Ensure that the inputs provided for URL, Username and Password are correct and valid.
Resolution: Enter the value of URL correctly. For more information, see SAP S/4HANA Cloud Prerequisites.
Overview
The Oracle E-Business Suite is an integrated suite of development, runtime, and system management tools. It also
includes Forms, JDeveloper, Single Sign-On, Oracle Internet Directory, Portal, Discoverer, Web Cache, Integration,
Oracle BPEL Process Manager.
IdentityIQ for Oracle ERP – Oracle E-Business Suite controls the activities related to account/groups by signing in
managed system. IdentityIQ for Oracle ERP – Oracle E-Business Suite will manage the following entities of Oracle
E-Business Suite:
• User
• Group (Responsibility, Role)
Supported Features
IdentityIQ for Oracle ERP – Oracle E-Business Suite supports the following features:
• Account Management
- Manages Oracle E-Business Suite users
- Aggregation, Refresh Accounts, Discover Schema
- Create, Update
- Enable, Disable, Change Password
- Add/Remove Entitlements
Prerequisites
The compatible JDBC drivers must be used in the classpath of IdentityIQ for connecting to Oracle E-Business
Server. For example, ojdbc8.jar.
Administrator Permissions
Note: - (For Invoker rights only) After upgrading IdentityIQ to version 8.0 Patch 2, invoke the upgraded
wrapper packages. For invoking the new wrapper package, additional permissions must be
provided.
- Few additional permissions are required for definer rights also.
For more information on the additional permissions, see "Additional Administrator
Permissions” on page 77.
1. Rights present on Oracle packages:
Enter the following command to find the rights present on the Oracle packages:
SELECT dbo.object_name,
(DECODE(SIGN(bitand(options,16)),1,'INVOKER','DEFINER')) "authid"
FROM dba_objects dbo, sys.PROCEDURE$ p
Note: If table ar_customers exist instead of ra_customer then provide the select permissions as
follows:
grant select on APPS.AR_CUSTOMERS to ${new role};
Also the synonym must be as follows:
create synonym AR_CUSTOMERS for APPS.AR_CUSTOMERS;
Note: After upgrading to the IdentityIQ version 8.0 Patch 2 from IdentityIQ version prior to 7.2,
aggregation would fail for all the service accounts with older permissions.
Configuration Parameters
The following table lists the configuration parameters of IdentityIQ for Oracle ERP – Oracle E-Business Suite:
Note: Attributes marked with * sign are the mandatory attributes.
If not provided an error would be displayed on Oracle E-Business Portal when user
tries to view Record History for any user and his/her assigned entitlements.
For example,
oracle.net.encryption_client=ACCEPTED
oracle.net.encryption_types_client=AES256
Account Aggregation Settings
Note: To use the Account Aggregation Settings, see ‘Account Aggregation Filters’ under "Upgrade
Considerations” on page 84.
Parameter Description
endDateUserEntitlements To end date of the roles and responsibilities on disabling an Oracle
E-Business Suite account, set the value of endDateUserEntitlements
parameter to true as follows:
<entry key="endDateUserEntitlements">
<value>
<Boolean>true</Boolean>
</value>
</entry>
useEffectiveDate To aggregate all the Oracle E-Business users without any aggregation filters,
set the value of useEffectiveDate parameter to false as follows:
<entry key="useEffectiveDate">
<value>
<Boolean>false</Boolean>
</value>
</entry>
Parameter Description
skipFutureAssignedGroups To aggregate and provision future dated E-Business users, set the value of
skipFutureAssignedGroups parameter to false as follows:
<entry key="skipFutureAssignedGroups">
<value>
<Boolean>false</Boolean>
</value>
</entry>
<entry key="useResponsibilityWithApplication">
<value>
<Boolean>true</Boolean>
</value>
</entry>
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Attributes Description
USER_NAME Application username (what a user types in at the Oracle
Applications sign-on screen).
USER_ID Application user identifier.
START_DATE The date the user name becomes active.
Attributes Description
END_DATE The date the user name becomes inactive.
DESCRIPTION Description.
PASSWORD_DATE The date the current password was set.
PASSWORD_EXPR The number of accesses left for the password.
PASSWORD_NO_OF_DAYS The number of accesses allowed for the password.
EMAIL_ADDRESS The electronic mail address for the user.
FAX The fax number for the user.
EMPLOYEE_ID Identifier of employee to whom the application username is
assigned.
EMPLOYEE_NUMBER Unique number of the employee.
FULL_NAME Full name of the user.
CUSTOMER_ID Customer contact identifier. If the AOL user is a customer contact,
this value is a foreign key to the corresponding customer contact.
CUSTOMER_NAME Customer name.
RESPONSIBILITIES Responsibilities assigned to a user.
ROLES Roles assigned to a user.
Custom Attributes
Perform the following to support the custom attributes in IdentityIQ for Oracle ERP – Oracle E-Business Suite:
• Add the custom attribute name in the account schema by clicking Add attribute button.
Note: If custom attributes are required in the schema, a ‘jdbcbuildmap’ rule is required.
• Add the following lines in the application debug page:
<entry key = "customAttribute" >
<value>
<List>
<String>custom1</String>
<String>custom2</String>
</List>
</value>
</entry>
Discover Schema
Discover schema replaces the schema attributes by columns from the FND_USER table by deleting all the other
schema attributes not present in FND_USER table (except the roles and responsibility attributes).
If there are any correlation rules using attributes other than the columns from FND_USER table, then they must
be added again.
Group Attributes
This section describes the different group attributes.
Attributes Description
RESPONSIBILITY_NAME Name of the responsibility.
APPLICATION_NAME Application that owns the information for the responsibility.
RESPONSIBILITY_ID Responsibility identifier.
RESPONSIBILITY_KEY Internal developer name for responsibility.
START_DATE The date the responsibility becomes active.
END_DATE The date the responsibility expires.
DESCRIPTION Description
STATUS Shows status of the responsibility.
VERSION Version
WEB_HOST_NAME IP address or alias of the computer where the Webserver is running.
Defaults to the last agent.
WEB_AGENT_NAME Name of Oracle Web Agent. Defaults to the last agent.
DATA_GROUP_APPL_NAME Name of the data group application.
REQUEST_GROUP_APPL_NAME Request Group Application name.
DATA_GROUP_ID Identifier of data group.
DATA_GROUP_NAME Name of the Data Group.
MENU_NAME Name of the menu.
REQUEST_GROUP_NAME Request group name.
Attributes Description
NAME An internal name for the role.
DISPLAY_NAME The display name of the role.
DESCRIPTION Description
START_DATE The date at which the role becomes valid.
EXPIRATION_DATE The date at which the role is no longer valid in the directory
service.
APPLICATION_NAME Application that owns the information for the role.
Attributes Description
STATUS The availability of the Role to participate in a workflow process.
SUBORDINATE_ROLES Subordinate roles for a role.
SUBORDINATE_RESPONSIBILITIES Subordinate responsibilities for a role.
Attributes Description
Name* Name of the login user.
Password* Password of the login user.
Description Description.
Start Date* The date from which login user becomes active.
End Date The date from which login user becomes inactive.
Password Expiration Type Type of the password to expire.
Number of Days Days after which user password will expire.
Permanent Mode In permanent mode change of password on first login is not required.
Employee ID Person ID of the employee or contractor from the Oracle-HRMS system.
Note: Applicable to new application of Oracle E-Business Suite after
upgrading IdentityIQ to version 8.0 Patch 2.
Attributes Description
Responsibility and Application Name of the responsibility.
Name*
Application Name (Read only) Name of the application.
Description Description
Responsibility Key* Internal developer name for responsibility.
Attributes Description
Start Date* The date the responsibility becomes active.
End Date The date the responsibility expires.
Responsibility Version Responsibility version.
Data Group Name* Name of the data group.
Data Group Application Name* Name of the data group application.
Menu Name* Name of the menu.
Request Group Name Request group name.
Request Group Application Name Request group application name.
Additional Information
This section describes the additional information related to the IdentityIQ for Oracle ERP – Oracle E-Business
Suite.
Upgrade Considerations
• (Optional) After upgrading to IdentityIQ version 8.0 Patch 2, perform the following for provisioning of a
responsibility of type other than ‘Oracle Applications’:
a. Navigate to Provisioning Policies ==> Create Group.
b. Click on Edit icon of Responsibility Version field and in Edit Options ==> Settings, modify the name
from PASSWORD_EXPR to VERSION.
c. Click on Edit Options ==> Value settings in the Allowed Values field enter Oracle Mobile
Application and click on + icon.
d. Click on Apply and Save the provisioning policy.
e. Click Save on the next screen and save the Application.
• Account Aggregation Filters
After upgrading to IdentityIQ version 8.0 Patch 2, by adding <entry key="useEffectiveDate"
value="true"/> parameter in the application debug page users have the ability to select the type of users
to be aggregated: Employees, Contractors, Employees and Contractors or all users from FND_USER table.
For more information on adding the useEffectiveDate parameter, see "Additional Configuration
Parameters” on page 79.
• Assigning responsibilities to future dated E-Business users
After upgrading to IdentityIQ version 8.0 Patch 2, the Oracle E-Business Suite connector would be able to
provision and aggregate future E-Business users. If responsibilities are provided in the create request of
future user, the connector would use user's start date for responsibility assignment's start date.
For provisioning of future dated users for application created prior to IdentityIQ version 8.0 Patch 2, add the
skipFutureAssignedGroups entry key to the application debug page. For more information, see
"Additional Configuration Parameters” on page 79.
• Disabling existing accounts during provisioning
After upgrading to IdentityIQ version 8.0 Patch 2, the Oracle E-Business Suite connector would be able to
disable any existing active FND accounts.
For disabling any active FND accounts for application created prior to IdentityIQ version 8.0 Patch 2, set the
value of the disableOldFNDAccounts parameter to true in the application debug page. For more
information, see "Additional Configuration Parameters” on page 79.
• Identifying responsibility group uniquely
After upgrading to IdentityIQ version 8.0 Patch 2, the Oracle E-Business Suite connector can use combination
of Responsibility_id and Application_id to identify responsibility group uniquely for new applications.
For existing application user can use this feature by setting the value of
useResponsibilityWithApplication to true in the application debug page.
For more information, see "Additional Configuration Parameters” on page 79.
Note: After setting the value of useResponsibilityWithApplication attribute to true,
previous entitlement data cannot be retrieved.
• After upgrading to IdentityIQ version 8.0 Patch 2, the Oracle E-Business Suite Connector would not
aggregate indirect roles and responsibilities assigned to Oracle E-business users during account
aggregation.
• After upgrading to IdentityIQ version 8.0 Patch 2, for aggregating disabled accounts on the previous
application of Oracle E-Business Suite, set the value of the aggregateActiveAccounts parameter to
false in the application debug page.
User Editions
(Applicable only for Administrator User Account) For Oracle Database version 11g R2 and above which allow the
Edition-based Redefinition, when creating new database user, enable editions on that user by using the following
command on the database to avoid any errors while creating the synonyms:
alter user ${new user} enable editions;
Fore more information on Administrator User Account, see "Administrator Permissions” on page 74.
Last_Updated_By Attribute
The Oracle E-Business Connector updates the WHO columns (created_by/last_updated_by) based on the
following conditions:
• If user selects Self-Service Change Password, the WHO columns would be updated with a value of the
self user, irrespective of the configuration of E-Business Proxy User.
• For any other provisioning operations done by a service account user, if E-Business Proxy User is
configured, the WHO columns would be updated with a value of the E-Business Proxy User.
• If E-Business Proxy User is not configured, then the WHO columns would be updated with a value of the
service account user.
Troubleshooting
1 - Provisioning and Aggregation would fail with the an error message on previous
application of Oracle E-Business Suite after upgrading IdentityIQ to version 8.0
Patch 2
After upgrading IdentityIQ to version 8.0 Patch 2, provisioning and aggregation would fail with the following error
message on previous application of Oracle E-Business Suite:
ORA-00942: table or view does not exist
Resolution: After upgrading IdentityIQ to version 8.0 Patch 2, for successful provisioning and aggregation
operations on previous application of Oracle E-Business Suite, additional permissions from Sr.No 1 to 4 are
required as mentioned in the table under the “Additional Administrator Permissions” section.
Resolution: To re-hire user who is disabled in native system, refresh the accounts from IdentityIQ using manage
accounts. This corrects the status of the user in IdentityIQ and can be enabled manually from IdentityIQ or native
system.
4 - A new user with an existing user name on native system is in disabled state must
be newly hired
When a new user must be hired with an old user name on native system is in disabled state, the following error
message appears on the native system:
User already exists
Resolution: IdentityIQ does not have the old user details which is disabled on the native system. The create user
request would fail in IdentityIQ with the above error message. Therefore a new name must be entered for the
new user.
Overview
SAP Enterprise Portal integrates information and applications across the enterprise to provide an integrated
single point of access to information, enterprise applications, and services both inside and outside an
organization. IdentityIQ for SAP ERP – SAP Portal - User Management Web Service uses the UME service to
perform user management. The User Management Engine (UME) provides a centralized user management for all
Java applications and can be configured to work with user management data from multiple data sources.
The UME can be configured to read and write user-related data from and to multiple data sources, such as
Lightweight Directory Access Protocol (LDAP) directories, the system database of the AS Java, and user
management of an AS ABAP.
IdentityIQ for SAP ERP – SAP Portal - User Management Web Service manages the following entities of SAP User
Management Engine (UME):
• User
• Role (UME and Portal)
Supported Features
IdentityIQ for SAP ERP – SAP Portal - User Management Web Service supports the following features:
• Account Management
- Manages SAP Portal users as Accounts
- Aggregation, Refresh Accounts, Pass Through Authentication
- Create, Update, Delete
- Enable, Disable, Change Password
- Add/Remove Entitlements
• Account - Group Management
- Create, Update, Delete
- Manages SAP Roles as Account-Groups
- Aggregation
Prerequisites
The sailpoint_ume.sda file must be deployed on the SAP Enterprise Portal server which must be provisioned.
Perform the following steps to deploy the sailpoint_ume.sda file:
1. Copy the SDA file from ($build)/integration/sap/dist directory to a temporary directory on the
SAP server.
2. Navigate to the home directory of SAP Enterprise Portal server
..\usr\sap\(ep_instance_name)\J02\j2ee\console on SAP server and execute
textconsole.bat.
3. Run the following command:
>DEPLOY tmpDir\sailpoint_ume.sda(location of the sailpoint_ume.sda file)
where tmpDir is the temporary directory where the SDA file is extracted.
For undeploying the .sda file, see “Undeploy .sda File” on page 95.
Administrator Permissions
The administrative account must have the following permissions for performing test connection, aggregation and
provision operations:
• pcd:portal_content/administrator/user_admin/user_admin_role
• pcd:portal_content/administrator/system_admin/system_admin_role
• pcd:portal_content/administrator/super_admin/super_admin_role
• SAP_J2EE_ADMIN
Configuration Parameters
This section contains the information that this Module uses to connect and interact with the application. Each
application type requires different information to create and maintain a connection.
The IdentityIQ for SAP ERP – SAP Portal - User Management Web Service uses the following connection
attributes:
Table 1—IdentityIQ for SAP ERP – SAP Portal - User Management Web Service - Primary Attributes
Attribute Description
UMWebService The url for the UMWebService. For example:
URL*
http://HOST:PORT
In the above url, HOST refers to the instance where SAP Portal-User Management
WebService is installed and PORT is the listening port of the server.
Note: When using https, the portal server’s keystore and the application server’s
keystore must be configured.
Username* The SAP Portal user name used when connecting to the web service.
password* Password for the user account specified in Username.
Account Filter Enter the string representation of an object filter. Any account object matching the
filter is filtered out of the dataset. The following is an example of a filterString that
filters out all objects where the uniqueId starts with USER.R3_DATASOURCE:
uniqueId.startsWith(&quot;USER.R3_DATASOURCE.&q
uot;)
If this property is non-empty, filtering happens on the IdentityIQ server side and
does not filter on the SAP portal side.
Table 1—IdentityIQ for SAP ERP – SAP Portal - User Management Web Service - Primary Attributes
Attribute Description
Group Filter Enter the string representation of an object filter. Any roles object matching the
filter is filtered out of the dataset. The following is an example of a filterString that
filters out all objects from the that have a displayName starting with com.sap.pct:
displayName.startsWith(&quot;com.sap.pct&quot;)
When this property is non-empty filtering happens on the IdentityIQ server side and
does not filter on the SAP portal side
Schema Attributes
This section describes the different schema attributes.
Note: The attributes marked with * sign are the required attributes.
Account Attributes
The following table lists the account attributes:
Attributes Description
uniqueId Users unique identification
firstName Users first name
lastName Users last name
displayName Users display name
company Users company name
title Users title
uniqueName Users unique name
(Identity Name+ Display Name)
city Users city
postalCode Users postal address
email Users email address
street Users street
state Users state
country Users country
zip Users postal zip code
fax Users fax
telephone Users telephone number
Attributes Description
cellPhone Users cell phone number
department Users department assigned
salutation Users salutation
jobTitle Users job title
timeZone Timezone of the user
language Language of the user
securityType Users's security type
lockStatus User is locked or open
roles Role assigned to the user
groups Groups assigned to the user
validFrom Valid from date
validTo Valid to date
Group Attributes
The following table lists the group attributes:
Attributes Description
displayName is Display name of the role
uniqueName identity Attribute Unique name of the role
uniqueId Unique ID of the role
description Description of the role
userMembers Users associated to the role
groupMembers Groups associated to the role
Attributes Description
uniqueId Users unique identification
First Name Users first name
Last Name* Users last name
Display Name Users display name
company Users company name
Department Users department assigned
Unique Name* Users unique name
Password* Users password
City Users city
Street Users street
Email Users email address
State Users state
Country Users country
Zip Users postal zip code
Fax Users fax
Tele Phone Users telephone number
Cell Phone Users cell phone number
Salutation Users salutation
JobTitle Users job title
Language Language of the user
Security Type Users's security type
Lock Status User is locked or open
Password Change Required To create a new account in SAP Portal Server with productive
password.
Attributes Description
Role Name* Display name of the role
Description Description of the role
User Members Users associated to the role
Group Members Groups associated to the role
Additional Information
This section describes the additional information related to IdentityIQ for SAP ERP – SAP Portal - User
Management Web Service.
Troubleshooting
Resolution: Undeploy the existing sailpoint_ume.sda file and deploy the new sailpont_ume.sda file. For more
information, see “Undeploy .sda File” on page 95.
Overview
The IdentityIQ for Oracle ERP – PeopleSoft manages the administrative entities of PeopleSoft server (User Profiles
and Roles). The IdentityIQ for Oracle ERP – PeopleSoft communicates to the PeopleSoft server through
component interfaces.
Supported Features
IdentityIQ for Oracle ERP – PeopleSoft supports the following features:
• Account Management
- Manages PeopleSoft users as Accounts
- Aggregation, Partitioning Aggregation, Refresh Accounts, Discover Schema
For more information on partitioning aggregation, see “Partitioning Aggregation” on page 102.
- Create, Update, Delete
- Enable, Disable, Change Password
- Add/Remove Entitlements
Prerequisites
To use the IdentityIQ for Oracle ERP – PeopleSoft, you must first configure the component interfaces on
PeopleSoft. This requires the following steps:
1. Creating the Component Interfaces
2. Creating the Component interface jar file
3. Configuring the Component Interface Security
The following files must be present on the computer where the IdentityIQ for Oracle ERP – PeopleSoft is installed:
• psjoa.jar (found on PeopleSoft server at %PS_HOME%\class where %PS_HOME% is the location where
PeopleSoft is installed)
During an upgrade/patch application with the PeopleSoft Tools/Server, the psjoa.jar file must be new and
placed in the IdentityIQ classpath.
• iiqPeopleSoftCompInt.jar (See “Creating the Component interface jar file”)
For any upgrades in PeopleTool versions, it is recommended to regenerate the
iiqPeopleSoftCompInt.jar file to upload instead of the old/ existing jar file.
Administrator Permission
The PeopleSoft user who must act as an administrator for proper functioning of the IdentityIQ for Oracle ERP
– PeopleSoft and must have access to the related Component Interfaces. For more information, see Configuring
the Component Interface Security.
Configuration Parameters
This section contains the information that IdentityIQ for Oracle ERP – PeopleSoft uses to connect and interact
with the application. Each application type requires different information to create and maintain a connection.
The IdentityIQ for Oracle ERP – PeopleSoft uses the following connection attributes:
Attribute Description
PeopleSoft Connection Settings
Host* The hostname of the PeopleSoft server.
Port* The Jolt port (Jolt Server Listener Port) on which the PeopleSoft server is
listening. Default: 9000
To determine the JOLT Server Listener (JSL) port of the application server,
check the JOLTListener section in the psappsrv.cfg file. The file is located
in <PS_CFG_HOME>\appserv\<DOMAIN_NAME>, where:
• PS_CFG_HOME: Location of configuration file of PeopleSoft Server.
• DOMAIN_NAME: Name of the domain which is to be administered.
Connection Credentials
User* The user name used to login to PeopleSoft.
Password* The password to use to login to PeopleSoft.
Domain Connection Determines if Domain connection Password is configured.
Password Enabled
Domain Connection Password is required if Domain Connection Password Enabled attribute is
Password* selected.
Component Interface Details
User Component Interface* The name of the PeopleSoft component interface to use to read
PeopleSoft User Profile.
Attribute Description
Partition Statements Criteria to specify the range of users to be downloaded. For example, if the
range is specified as A-M, then this specifies that all the Users whose User
IDs are between A and M (including A and M) would be treated as one
partition and downloaded.
To specify more than one partition the entries should be separated using
a newline character. For more information, see “Partitioning Aggregation”
on page 102
Library Configuration
Application Libraries Location of jar files required for communicating with Server (For example,
Relative: \lib-connectors\PSFT\<jars>
OR
Absolute: C:\Temp\PSFT\<jars>)
Note: All the parameters marked with the * sign in the above table are the mandatory
parameters.
Note the following:
• While deleting a User, add Component Interface in debug as deleteComponentInterface.
For example, <entry key="deleteComponentInterface" value="SAILPOINT_DEL_USER"/>
• SailPoint recommends of saving the required jars belonging to the same People Tool version at the same
location.
• If user wants to use \WEB-INF\lib-connectors location to save the jars, then it is a must to create a
new folder under \WEB-INF\lib-connectors and save the jars location.
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Attributes Description
UserID The PeopleSoft User ID.
AccountLocked Status of Account if it is locked or not.
AlternateUserID User ID Alias.
CurrencyCode Currency code of the user.
DefaultMobilePage Default mobile page.
EffectiveDateFrom Workflow attribute - from date.
EffectiveDateTo Workflow attribute - to date.
EmailAddresses Email address of the user.
Attributes Description
EmailUser Routing preferences - email user. It is a multivalued attribute.
ExpertEntry Enable expert entry.
FailedLogins Number of failed logins.
IDTypes User ID types and values.
LanguageCode Language code.
LastUpdateDateTime Last update date/time.
LastUpdateUserID Last update user ID.
MultiLanguageEnabled Multi-language enabled.
NavigatorHomePermissionList Default navigator home page permission list.
Opertype Use external authentication.
PasswordExpired Is password expired.
PrimaryEmailAddress Primary email address.
PrimaryPermissionList Primary permission list.
ProcessProfilePermissionList Process profile permission list.
roleNames Roles and Roles along with Route Controls assigned to the user
profile.
RowSecurityPermissionList Row security permission list.
SymbolicID Used to map the User Id to Access ID.
UserDescription Description of the user.
Roles Roles and Roles along with Route Controls assigned to the user -
detailed.
Encrypted Encrypted
ReassignWork Reassign work to alternate user.
ReassignUserID Reassigned user’s UserID.
RowSecurityPermissionList Row Security Permissions.
SupervisingUserID Supervisor’s User Id.
UserIDAlias Alias of the user.
WorkListEntriesCount Count of worklist entries.
WorklistUser Displays user workflow.
Group Attributes
The following table lists the group attributes:
Attributes Description
ALLOWNOTIFY Workflow routing - allow notifications.
Attributes Description
ALLOWLOOKUP Workflow routing - allow recipient lookup.
DESCR Description of the role.
DESCRLONG Long description.
LASTUPDDTTM Last update date/time.
LASTUPDOPERID Last update user ID.
RolePermissionLists Permission List for the role.
ROLENAME Name of the role.
ROLETYPE Type of the role.
RouteControl Route Control name.
RouteControlDescription Route Control description.
Roles that can be granted Roles that can be granted by this role.
Roles that can grant Roles that can grant this role.
Additional Information
This section describes the additional information related to the IdentityIQ for Oracle ERP – PeopleSoft.
Partitioning Aggregation
To use the partitioning aggregation feature in IdentityIQ for Oracle ERP – PeopleSoft, perform the following:
1. Select the Partition Enabled check box.
2. Specify the criteria for partitioning in the Partition Statements textbox of the configuration parameter.
For example, download all the PeopleSoft User Profiles from A to M (including A and M) (the statement A-M
would be treated as one partition)
To specify more than one partition the entries must be separated using a newline character.
Performance Improvement
For improving the performance of PeopleSoft, create views and add new people code in the component
interfaces on the Managed system.
For more information, see “Creating Views and adding new People Code in Component Interface” on page 103.
Creating Views
Login to database with sysdba permissions and execute the following commands:
1. //This script is for creation of View for getting User IDs
End-Function;
Important: Ensure that the JAVA compiler used for compiling the generated JAVA files is compatible
with the JAVA provided with the PeopleSoft installation that needs to be managed.
d. (Optional) You can delete all the generated java files from the existing directory, however, do not
delete the .class files.
7. Perform the following steps to package the compiled files as the iiqPeopleSoftCompInt.jar file:
a. Open the Command prompt and navigate to the newly created directory. For example, C:\CI
b. Run the command: jar -cvf iiqPeopleSoftCompInt.jar *
Upgrade considerations
• (Optional) To use the Route Control functionality after upgrading IdentityIQ from any previous version to
IdentityIQ version 8.0 Patch 2, manually add the following attributes in the Group Schema:
- RouteControl
- RouteControlDescription
For more information on the above attributes, see “Group Attributes” on page 101.
Note: With this new implementation, there would be an impact on certification history. Certification
history would be lost and would not be in synchronization with previous data.
Troubleshooting
1 - When the supported platform version is Java 1.6 an error message appears
When the supported platform version is Java version 1.6, the following error message appears:
java.lang.UnsupportedClassVersionError: psft/pt8/joa/API : Unsupported major.minor
version 51.0 (unable to load class psft.pt8.joa.API)
Copy all the files from this directory into the WEB_INF\classes directory of IdentityIQ.
Now you will be able to successfully connect to the server. This solution is documented in the following
knowledge base article on the Oracle support site:
E-CI: Java API Connection Fails With "java.lang.NoClassDefFoundError:
com/peoplesoft/pt/management/runtime/pia/JoltSessionMXBean" Error(1947124.1)
Overview
The IdentityIQ for Oracle ERP – Siebel manages entities in Oracle's Siebel CRM. Here Employee is managed as
Accounts and Position as Account Groups. By default, the IdentityIQ for Oracle ERP – Siebel uses the Employee
Siebel business component of the Employee Siebel business object for account provisioning. For Account Group
provisioning Position business component of Position business object is used by Integration Module. However,
the Integration Module can be configured to manage other Siebel Business Object/Component in the
Account/Account Group provisioning. The Integration Module manages both single and multi-valued attributes
of Siebel system. The Integration Module schema can be modified to manage attributes other than Schema that
comes by default with Integration Module.
Supported Features
IdentityIQ for Oracle ERP – Siebel provides support for the following features:
• Account Management
- Manages Employee as Accounts
- Aggregation, Refresh Accounts
- Create, Update, Delete
- Enable, Disable, Change Password
- Add/Remove Entitlements
Note: Enable Account operation sets the Employment Status attribute to Active while it is set to
Terminated for Disable Account operation.
Prerequisites
Following Siebel JAR file is required in the WEB-INF/lib directory:
Siebel.jar and SiebelJI_<<Language>>.jar
For example, for Siebel CRM with English language: Siebel.jar, SiebelJI_enu.jar
The Siebel JAR file is available in the SIEBEL_INSTALLATION_DIRECTORY/siebsrvr/CLASSES directory.
Note: Do not copy JAR file for multiple versions of Siebel into the WEB-INF/lib directory; it may
create conflicts at runtime.
Note: IdentityIQ for Oracle ERP – Siebel requires JRE 1.6 or above to manage Siebel CRM.
Administrator Permissions
The IdentityIQ for Oracle ERP – Siebel requires Siebel administrator credentials to accomplish provisioning tasks.
The administrator user name and password configured for Oracle ERP – Siebel must be assigned sufficient
privileges within Siebel to create new records and to update existing records for the specified business
component.
For example, SADMIN user which is created during Siebel server installation is one of the example of
administrator.
Note: A responsibility named “Siebel Administrator” assigned to this user gives access to all views.
Configuration Parameters
This section contains the information that this Integration Module uses to connect and interact with the
application. Each application type requires different information to create and maintain a connection.
The IdentityIQ for Oracle ERP – Siebel uses the connection parameters listed in the following table:
Schema Attributes
By default the following mentioned set of attributes are managed:
Account Attributes
The following table lists the account attributes (Siebel Employee attributes):
Attributes Description
Login Name Employee’s login name.
First Name Employee’s first name.
Last Name Employee’s Last name.
Position Multi-value attribute that contains a list of all positions assigned to employee.
Primary Position Employee’s primary position.
Responsibility Multi-value attribute that contains a list of all responsibilities of employee.
Primary Responsibility Id Employee’s Primary responsibility ID.
Division Division
Employment Status Employment Status
Street Address Street Address
Job Title Job Title
Phone Number Phone Number
Fax Number Fax Number
Hire Date Hire date
Alias Alias
State State
Availability Status Availability status of employee.
ManagerLogin Employee’s Manager login.
Attributes Description
Id Unique Id for Position Entity.
Name Name of Position.
Last Name Last Name of Employees having this Position.
Division Division of Position.
Role Role
Attributes Description
Start Date Start date for allocation of Position to Employee referred by Last Name.
Position Type Position Type.
Parent Position Name Parent Position’s name.
Note: The search is made on identityAttribute while finding records. By default, "Login Name" for
Account and "Id" for Account Group is set in the identityAttribute.
<String>Responsibility:Responsibility:Responsibility:Responsibility:Name</String>
</List>
</value>
</entry>
Note: As position and responsibility are main multi value field in Employee, if you do not configure it,
IdentityIQ for Oracle ERP – Siebel will assume the default business components and objects. But
for other Multi value attribute to work, you need to configure this attribute in Application.
Attributes Description
Create Account
Login Name Employee’s login name.
First Name Employee’s first name.
Last Name Employee’s last name.
Position Multi-value attribute that contains a list of all positions assigned to employee.
Primary Position Id Employee’s primary position Id.
Responsibility Multi-value attribute that contains a list of all responsibilities of employee.
Password Employee account password.
Verify Password Employee account password.
Attributes Description
Job Title Job title.
Employee Type Employee type.
Update Account
First Name Employee’s first name.
Last Name Employee’s last name.
Responsibility Multi-value attribute that contains a list of all responsibilities of employee.
Primary Position Id Employee’s primary position ID.
Create Group
Position Name of position.
Division Division of position.
Position Type Position type.
Parent Position Id Parent position’s ID.
Update Group
Position Name of the position.
Division Division of position.
Position Type Position type.
Parent Position Id Parent position’s ID.
Id Unique Identifier for Position.
Last Name Last Name of Employee that has this Position.
Role Role
Start Date The date when the position was assigned to Employee.
(Optional) Enable User
Employment Status Employee's employment Status.
(Optional) Disable User
Employment Status Employee's employment Status.
Note: For more information on Employment Status, see “ Employment Status” below.
Additional Information
This section describes the additional information related to the Siebel Connector.
Employment Status
The employment status is configurable for an employee. To configure the status as required, the following entry
keys must be added in the application debug page:
• <entry key="enableStatus" value="<provide value to be configured>"/>
• <entry key="disableStatus" value="<provide value to be configured>"/>
Note: Default employment status for respective operations is as follows:
- Enable: Active
- Disable: Terminated
Supported values can be provided or configured in Siebel Server. For example, Leave Of Absence, Paid Leave Of
Absence and so on.
To configure multiple employment status as Enabled in IdentityIQ, then all combination of status must be added
in application debug page in the activeStatusList entry key along with Enable Account provisioning policy.
For example, if status of employee is Active or Leave Of Absence which must be considered as Enabled in
IdentityIQ, add the following entries in the application debug page:
<entry key="activeStatusList">
<value>
<List>
<String>Active</String>
<String>Leave Of Absence</String>
</List>
</value>
</entry>
The status of the strings which are not provided in the activeStatusList entry key would be considered as Disabled
in IdentityIQ.
Troubleshooting
1 - When Siebel JAR files are not copied correctly in the WEB‐INF/lib directory error
messages appear
When Siebel JAR files are not copied correctly in the WEB‐INF/lib directory, the following errors are obtained:
• Test connection fails with the following error:
[ConnectorException] [Error details] com/siebel/data/SiebelException
• During add new entitlement the following error message is displayed:
The system has encountered a serious error while processing your request. Please report the following
incident code.
Resolution: Copy the correct Siebel JAR files.
Overview
Oracle NetSuite is cloud-based Software-as-a-Service integrated business management software. Oracle
NetSuite's cloud business management system includes ERP/accounting, order management/inventory, CRM,
Professional Services Automation (PSA) and E-commerce.
Enterprise Resource Planning (ERP) in Oracle NetSuite encompasses several areas of your business, including
accounting, inventory, order management, project management, and employee management.
For more information, see http://www.netsuite.com/portal/products/main.shtml
IdentityIQ for Oracle NetSuite ERP will manage the employee data in the Oracle NetSuite ERP system. This
Integration Module is a write-capable Integration Module which manages the following entities:
• Employee Account
• Employee Role
Supported Features
IdentityIQ for Oracle NetSuite ERP supports the following features:
• Account Management
- Manages Oracle NetSuite users as Accounts
- Aggregation, Refresh Accounts, Pass Through Authentication
- Create, Update
- Enable, Disable, Change Password
- Add/Remove Entitlements
Note: For Pass Through Authentication, the account should have at least one role assigned with
permissions required to perform the operation. Also this role needs to be Web Service enabled
role.
• Account - Group Management
- Manages Oracle NetSuite Roles as Account-Groups
- Aggregation, Refresh Groups
• Authentication Mechanism
- User Credentials
- Token Based Authentication
Administrator Permissions
The IdentityIQ for Oracle NetSuite ERP administrator must be able to perform the following operations on Oracle
NetSuite employee data:
• Search
• Create
• Update
• Access Custom Attributes
Hence a role is required which has the permissions to the above operations. We need to create a role in Oracle
NetSuite having the following respective permissions for User Credentials and Token Based Authentication:
• User Credentials
- Web Service
• Token Based Authentication
- Web Service
- Access Token Management
- Log in using Access Tokens
- User Access Tokens
The following table lists the minimum permissions for User Credentials/Token Based Authentication
Prerequisites
Ensure that the following appropriate procedure is performed for User Credentials /Token Based Authentication
depending on the Authentication Type selected.
Note: The procedure mentioned below for User Credentials and Token Based Authentication are as
per NetSuite Release 2019.1.
User Credentials
Perform the following to obtain an Oracle NetSuite Application ID:
1. Log in to your Oracle NetSuite account.
2. Navigate to Setup ==> Integrations ==> Manage Integrations ==> New.
3. Provide the name of the application that would be integrated with Oracle NetSuite.
Ensure that the Token Based Authentication is unchecked and User Authentication is only selected.
4. Save the provided details in the above step. The Application ID would be generated for the application.
5. Save the generated Application ID to be used in the “Configuration Parameters” on page 121.
Create an Integration Record and Generate Consumer Key and Consumer Secret:
1. Navigate to Setup ==> Integrations ==> Manage Integrations ==> New.
2. Provide the name of the application that would be integrated with Oracle NetSuite.
3. If required add a Description. For example, IIQ Token Based Application.
Note: The ‘State’ of the application is ‘Enabled’ by default.
4. If required add a Note.
5. Select the Token-based Authentication checkbox on the Authentication sub tab.
6. Save the provided details in the above steps. The Consumer Key and Consumer Secret would be generated
for the application.
Note: Save the generated Consumer Key and Consumer Secret to be used in the “Configuration
Parameters” as Client ID and Client Secret respectively.
Note: The only time when the Consumer Key and Consumer Secret values would be displayed is on the
confirmation page. These values cannot be retrieved from the system after you exit from the
confirmation page. If Consumer Key and Consumer Secret values are misplaced, then step 1 to
3 must be repeated to obtain the values.
Generate Token
1. Navigate to Setup==>User/Roles/ ==>Access Tokens ==> New.
2. Select the created APPLICATION NAME for Token Based Authentication and select User.
3. Select the created ROLE for Token Based Authentication and Save.
4. If required edit the TOKEN NAME.
5. Save the provided details in the above step. The Token Id and Token Secret would be generated for the
application.
6. Copy the Token Id and Token Secret and use these values in “Configuration Parameters” on page 121.
Note: The only time when the Token Id and Token Secret values would be displayed is on the
confirmation page. These values cannot be retrieved from the system after you exit from the
confirmation page. If Token Id and Token Secret values are misplaced, then step 1 to 6 must be
repeated to obtain the values.
Configuration Parameters
This section contains the information that this Integration Module uses to connect and interact with the
application. Each application type requires different information to create and maintain a connection.
The IdentityIQ for Oracle NetSuite ERP uses the following connection parameters:
Parameters Description
Account ID* The account number assigned to an organization by Oracle NetSuite. This account
number must be provided by each login request. This can be found by navigating to
Setup => Integration => Web Services Preferences.
Page Size Limit to fetch number of accounts or groups per iteration through IdentityIQ for Oracle
NetSuite ERP. If the value is not set then the default value is 50.
Authentication Authentication type to be selected for the Oracle NetSuite account.
Type • User Credentials
• Token Based Authentication
Applicable when Authentication Type is selected as ‘User Credentials’
Administrator Email of the Account in Employee package having provisioning privileges.
Email*
Administrator Password of the employee Account.
Password*
Application ID* Unique identifier for integration record generated by Oracle NetSuite application
during the set up process when an external application is required to be integrated.
Role ID When logging in using Web Services provide a role id along with your credentials. The
role defined here must be a valid role contained in the Employee record of the given
user. If no role id is provided, then the user’s default role is used. If neither the request
nor the Web Services default role is set, then the user’s default UI role is used,
provided it has the Web Services permission.
For security reasons, it is recommended that you restrict permissions levels and access
allowing only the most restricted permissions necessary to perform a given set of
operations. For more information about the permissions, see “Administrator
Permissions” on page 118.
Applicable when Authentication Type is selected as ‘Token Based Authentication’
Client ID* The Client ID for token based authentication (Consumer key from Oracle NetSuite
connected application).
Client Secret* The Client Secret for token based authentication (Consumer Secret from Oracle
NetSuite connected application).
Token ID* Token ID generated for the access token.
Token Secret* Token Secret generated for the access token.
For delete functionality, Service account must have the following permissions for User Credentials and Token
Based Authentication:
Permission Level
Employees Full
Employee Record Full
Schema Attributes
The following schema attributes are defined:
• Account schema
• Group schema
• Custom attributes
Account Attributes
The following table lists the account schema:
Group Attributes
The following table lists the group schema:
</List>
</value>
</entry>
Note: No code change would be required while adding new custom attributes in schema. This is
applicable only for custom attributes.
In the above table, EmpID is the minimum parameter which is required to create a user on Oracle NetSuite server.
But in IdentityIQ a user can only be created after assigning a role to it.
In Oracle NetSuite when a role is assigned to a user, the user requires UserName, Email and password as
mandatory parameter for accessing the Oracle NetSuite server.
Note: The field list can also be extended by adding custom attributes provided the attributes are
defined in the application schema. For more information, see “Schema Extension and Custom
Attributes” on page 123.
Troubleshooting
Resolution: Use Token Based Authentication or disable the Two-Factor Authentication Roles (2FA) flag by setting
it to not required on the Managed System (Oracle NetSuite).
Resolution: The NetSuite managed system has the default absolute session timeout value as 60 minutes even if
the session is active for User Credentials Authentication. Hence Oracle recommends to use Token Based
Authentication (TBA).
Introduction
This chapter provides a guide to the integration between SAP GRC (Governance, Risk and Compliance) and
IdentityIQ. This integration is used to leverage SAP GRC's ability to perform SOD (Separation of Duties) checks and
take remediation or mitigation decisions within the SAP GRC. The mitigation decision must be taken in SAP GRC
so that SAP GRC is aware of the mitigation controls which is applied on risks and would not report these risks till
the time mitigation is applicable.
IdentityIQ for SAP GRC uses the SAP GRC Access Risk Analysis (ARA) and Access Request Management (ARM) web
services which must be enabled before using the integration.
IdentityIQ for SAP GRC (Figure 1 ) enables checking for risk in the request placed in IdentityIQ (containing SAP
Direct Roles and Profiles) in the following method:
1. Request will be sent to the SAP GRC for proactive check.
2. ARA Web Service will check for the risk present in the request, if no risk is returned then IdentityIQ will con-
tinue provisioning the request.
3. If ARA Web Service returns the risk in the request, then corresponding request is created in SAP GRC using
the ARM Web Service.
4. IdentityIQ will continue with polling the request until response issued by SAP GRC.
5. On the basis of the response returned in step 4 above (approval or rejection by SAP GRC), IdentityIQ will
continue with provisioning or rejection of the request.
Supported Features
The IdentityIQ for SAP GRC performs Risk Analysis for new and change account requests using Lifecycle
Compliance Manager (LCM). IdentityIQ for SAP GRC now provides support for provisioning of sunrise and sunset
date for role assignment.
Note: SAP GRC Integration supports Basic Authentication level with Transport Channel Authorization
as User ID/Password.
Supported Platforms
IdentityIQ for SAP GRC supports the following version of SAP GRC Access Control:
• SAP GRC Access Control 12.0
• SAP GRC Access Control 10.1
• SAP GRC Access Control 10.0
Prerequisites
• SAP GRC Server Settings
• SAP Connector Changes for Supporting SAP GRC Integration
• Creating IdentityIQ Application of Type SAP GRC
• SAP GRC Workflows
Note: In addition to the above prerequisites, Multi Step Multi Process (MSMP) workflow must be
configured on the SAP GRC server.
• (Optional) For SAP GRC Access Control 12.0 ensure that the following SAP Note is implemented in the SAP
GRC Server:
2698051 - AC12 - GET_REQUEST_DETAILS is returning empty line items
Absence of this SAP Note on SAP side may cause request approved by GRC displayed as rejected in IdentityIQ.
d. In Dialog Structure double click on Maintain System Provisioning and select the required
connector which is configured as defined in “Creating a RFC Connection on SAP GRC System” on
page 152.
e. In Provisioning options section, select No Provisioning from the drop down against label Auto
Provisioning. The default value for this label is Auto provisioning at end of request.
• A SAP ABAP type of connection must be defined in SM59 transaction, which would be used to indicate
IdentityIQ connection virtually at SAP GRC server. This connection would be treated as Request Initiation
System in SAP GRC application configuration. For more information, see “Creating IdentityIQ Application
of Type SAP GRC ” on page 138.
• Status of requested Roles must be set to production on the SAP GRC Server.
Perform the following steps to obtain the SAP GRC URLs required when configuring the SAP GRC
application in IdentityIQ
Note: Following steps are provided, considering that all required web services are set to active mode.
1. Execute SOAMANAGER transaction code on SAP GRC server.
2. Under Service Administration, select Web Service Configuration.
3. In Search criteria, select Object Type as Service Definition and Object Name contains GRAC*.
4. Click on Search.
5. In search result, search (User Access web service) and click GRAC_USER_ACCESS_WS web service.
6. Perform the following for GRAC_USER_ACCESS_WS web service:
- Copy the URL from WSDL Generation section and open this URL in browser.
- Locate the following string in the XML and copy the binding URL (in bold) mentioned in the string:
<wsdl:port name="Web_Service_BINDING_soap12"
binding="tns:Web_Service_WS_BINDING_soap12">
<wsoap12:address location="http://XXXX"/>
</wsdl:port>
7. Perform the above steps for the following respective web services:
- Risk Analysis: GRAC_RISK_ANALYSIS_WOUT_NO_WS
- Request Details: GRAC_REQUEST_DETAILS_WS
- Audit Log: GRAC_AUDIT_LOGS_WS
These URLs would be used for User Request, Request Details, Risk Analysis, and Audit Log respectively in SAP
GRC application configuration in IdentityIQ. For more information, see “Creating IdentityIQ Application of
Type SAP GRC ” on page 138.
On SAP Direct application configuration page, the following checkbox and field have been introduced:
• Enable SAP GRC: Select this checkbox for the SAP GRC application to be sent to SAP GRC server for risk
analysis.
• SAP GRC Connector Name: The value of this field would be the name of the SAP GRC Connector created
in “Creating a RFC Connection on SAP GRC System” section.
In case of single SAP Direct application, user can add connector name manually. For multiple SAP Direct
applications, a rule is provided to avoid the manual work. For more information, see “Importing SAP GRC
Application Rule” on page 145.
The timeout Value is a value in minutes. For example, the timeout Value of 10 would set the
grc_connection_timeout to 10 minutes.
The Invoke SAP GRC Request Executor step of SAP GRC Data Generator workflow invokes the SAP GRC Request
Executor workflow.
Integration workflows
Following are the custom workflows to interact with SAP GRC:
• SAP GRC Data Generator
- Gathers all provisioning request from IdentityIQ.
- Filter the plans which contain roles from SAP Direct application which has SAP GRC check box
enabled.
For more information, see “Importing SAP GRC Application Rule” on page 145.
- Creates a map of all the requested items which are required by SAP GRC Request Executor.
Note: The step to create map from the plan can be customized as required.
• SAP GRC Request Executor
For a proactive check performed on Access Request, if there is no risk found for particular Access Request
then request will be provisioned, else perform the following:
a. Creates a request on SAP GRC Server.
b. Polling is done for the request till it is in pending status.
c. Receives the response back from SAP GRC Server.
d. Based on the response, this workflow takes decision whether to provision the request on SAP
Server or not.
For more information, see “Importing SAP GRC Application Rule” on page 145.
Note: Proactive check on Access request displays the risks even if they are mitigated earlier.
Therefore each time mitigated risks get calculated, request would be created on SAP
GRC for approval.
- Open the Provisioning Approval Subprocess and right click on Invoke SAP GRC Data Generator and
edit the step.
In Arguments section of this step search for identityName, identityDisplayName, project, approvalSet
and enter the values as identityName, identityDisplayName, project and approvalSet respectively for
Reference fields. Save the changes.
- Save the changes.
- Navigate to debug page and search the following in Provisioning Approval Subprocess workflow:
<Step icon=”Default” name=”Invoke SAP GRC Data Generator”
After all the <Arg> tags add the following before invoking the SAP GRC Data Generator workflow:
<Return name="approvalSet" to="approvalSet"/>
<Return name="project" to="project"/>
2. Open SAP GRC Data Generator process and perform the following:
In Process Variable section open applicationNameSAPGRC variable and in Initial value section select String
and provide value as the name of application of type SAP GRC configured in IdentityIQ.
3. For support of sunrise and sunset date ensure that the configurations mentioned in “Support for Sunrise
and Sunset Date” on page 158 is performed.
Upgrade Considerations
Note: Any customizations done on SAP GRC before upgrading to IdentityIQ version will not be
reflected in SAP GRC after upgrading8.0 Patch 2.
Upgrade Settings
For user upgrading to IdentityIQ version 8.0 Patch 2, perform the following changes:
1. SAP GRC Data Generator workflow to pass value of modified provisioning project.
For Invoke SAP GRC Request Executor add the following changes in the application debug page:
<Arg name="project" value="ref:project"/>
Add the following after all the <arg> tags:
<Return name="project" to="project"/>
2. For SAP GRC Request Executor workflow, add a process variable project as follows:
<Variable input="true" name="project">
<Description>
ProvisioningProject which is a compiled version of the ProvisioningPlan.
</Description>
</Variable>
For updateGRCResponse, add the following changes in the application debug page:
<Arg name="project" value="ref:project"/>
Add the following after all the <arg> tags:
<Return name="project" to="project"/>
3. Navigate to Process Designer and perform the following:
• Right click on the transition after the Start Step and edit the transition.
• Remove both the transition statements present.
• Right click Start Step and perform the following:
- Start the transition and end that transition on Set Dates for SAP Roles step.
- Save the changes.
2. Right click on Process GRC Approvals step and perform the following:
a. Start the transition and end that transition on Compile Project to get Partitioned Plans step.
b. Save the changes.
Right click on Compile Project to get Partitioned Plans step and perform the following:
a. Start the transition and end that transition on Initialize Detail Map step.
b. Save the changes.
3. Navigate to Process Designer and click on Add A Step and select Generic.
Drag and drop the generic step (in Auto Layout) after the Initialize Detail Map step.
Click Save.
Add the following new arguments under Add A New Argument button:
- identityName
- plan
- requester
- accountRequestSAPGRC
- ignoreStartDate
Enter the values as identityName, plan, requester, accountRequestSAPGRC respectively for Reference
fields and save the changes.
Note: Ensure that you set the value for ignoreStartDate as string false.
4. Right click on Initialize Detail Map step and perform the following:
a. Delete the following transitions:
• between Process GRC Approvals and Initialize Detail Map
• between Initialize Detail Map and Invoke SAP GRC Request Executor
b. Start the transition and end that transition on Compile Project to Remove Partitioned Plans step.
c. Save the changes.
5. Navigate to debug page and select the workflow in object browser from drop down and open the SAP GRC
Data Generator workflow and perform following steps:
<Transition to="Stop">
.........
</Transition>
<Transition to="Invoke SAP GRC Request Executor"/>
Ensure that after the above deletion, only the following transition statement is present:
<Transition to="Compile Project to Remove Partitioned Plans"/>
b. Search for the following Compile Project to Remove Partitioned Plans step:
<Step action="compileProvisioningProject" icon="Default" name="Compile
Project to Remove Partitioned Plans" posX="332" posY="240"
resultVariable="project">
<Transition to="Stop">
<Script>
<Source>
<![CDATA[
import sailpoint.tools.Util;
List lineItemList = new ArrayList();
boolean flag = false;
lineItemList = completeDetailMap.get("requestLineItemMap");
if (Util.isEmpty(lineItemList)) {
flag = true;
}
else if (Util.isEmpty(accountRequestSAPGRC)) {
flag = true;
}
return flag;
]]>
</Source>
</Script>
</Transition>
<Transition to="Invoke SAP GRC Request Executor"/>
6. Perform the following changes in SAP GRC Data Generator workflow xml:
b. Navigate to populateRequestItemMap() method and search for the following code snippet under
the if(attrReq.getName().equals("Roles")) condition:
At the end of the above code snippet add the following code to support sunrise and sunset:
…………
}
if (null != sapRoleDates.get(roleName + SUNRISE_DATE) || null !=
sapRoleDates.get(roleName + SUNSET_DATE)){
startDate = sapRoleDates.get(roleName + SUNRISE_DATE);
endDate = sapRoleDates.get(roleName + SUNSET_DATE);
}
c. Navigate to populateRequestItemMap() method and search for the following code snippet under
the if(attrReq.getName().equals("Roles")) condition:
At the end of the above code snippet add the following code to support sunrise and sunset:
………………..
}
if (null != sapRoleDates.get(role + SUNRISE_DATE) || null !=
sapRoleDates.get(role + SUNSET_DATE)){
startDate = sapRoleDates.get(role + SUNRISE_DATE);
endDate = sapRoleDates.get(role + SUNSET_DATE);
}
Changes in SAP GRC Data Generator workflow xml through debug page
a. Navigate to debug page and select Object as workflow from object browser drop down and open
the SAP GRC Data Generator workflow.
b. Search for <Step icon="Default" name="Initialize Detail Map" …. and add the following argument:
<Arg name="sapRoleDates" value="call:getEffectiveStartDateEndDates"/>
7. Import Rule Set Date SAP GRC Role Assignment rule from examplerules.xml file.
Note: Existing customization in ‘Rule Set Date SAP GRC Role Assignment’ rule would be overwritten
once the rule is imported.
8. After all the above upgrade procedure is performed ensure that the configurations mentioned in “Support
for Provisioning Start and End Date for Role Assignment” on page 156 is performed.
<Description>A list of SAP Direct AccountRequest which are qualified for SAP
GRC violation check.</Description>
</Variable>
4. Navigate to Setup ==> Business Process =>select SAP GRC Data Generator from Edit An Existing Process
==> Process Designer and edit Initialize Detail Map step.
a. In Initialize Detail Map step navigate to Argument.
b. Add the new argument sapBusinessRoleMap, select the Call Method and add value as
getSAPBusinessRoles and save the changes.
5. Navigate to Setup ==> Business Process =>select SAP GRC Data Generator from Edit An Existing Process
==> Process Designer and edit Invoke SAP GRC Request Executor step.
a. In Invoke SAP GRC Request Executor step navigate to Argument.
b. Add the value of project argument as project for Reference fields and save the changes.
c. Add the value of sapBusinessRoleMap argument as sapBusinessRoleMap for Reference fields and
save the changes.
Open Provision with retries workflow and search for step name start, that is name="Start" and perform the
following:
1. Modify the <Transition to="Set Dates for SAP Roles" when="script:(endDate != null
|| startDate != null )"/> transition to <Transition to="Set Dates for SAP Roles"/>.
2. Delete the following:
<Transition to="Initialize Retries"/>
Additional Information
This section describes the additional information related to the SAP GRC integration.
13. In the new screen, click on New Entries and provide the Connector Group Type as Logical Group on the
right hand side of the screen.
14. Select the created Connector Group Type and double click on Assign Connectors to Connector Group sec-
tion in left side of the screen.
15. In the new screen, click on New Entries and provide same name which was defined in Step 3. under column
Target Connector in right side screen. Provide Connection Type as SAP in the same screen and save it.
16. Navigate to SPRO ==> SAP Reference IMG ==> Governance Risk and Compliance ==> Common Component
Settings ==> Integration Framework ==> Maintain Connection Setting and execute it.
17. A new window (Determine Work Area Entry) will be displayed. In this window select the Integration Sce-
nario as Auth and click on Continue (Enter).
18. Select Sub-Scenario as AUTH and double click on Scenario-Connector Link in the left hand side screen.
19. Click on New Entries. In the new screen on right side, select Target Connector name which is same as that
mentioned in Step 3.
20. In Same Screen, select Conn. Type as SAP.
21. Repeat Step 16. to Step 20. for selecting the different Integration Scenario types as PROV, ROLMG, SUPMG.
22. Navigate to SPRO ==> SAP Reference IMG ==> Governance Risk and Compliance ==> Access Control ==>
Maintain Connection Settings and execute it.
23. Select Maintain Connector Settings select New Entries.
24. In right hand side screen select Target Connector as the name defined in Step 3. and select App Type as 1.
Select the Environment as required and PATH ID as B012.
25. Navigate to SPRO ==> SAP Reference IMG ==> Governance Risk and Compliance ==> Access Control ==>
Maintain Mapping for Actions and Connector Groups and execute it.
26. Select Maintain Connector Group Status and click on New Entries in left side screen.
27. In new screen in right side provide Conn. Group as the same name defined in Step 10. Select Appl Type as
001 and enable the Active check box for the respective Conn.Group.
28. In left hand screen double click on Assign Default Connector To Connector Group and click on New Entries.
29. Select Conn.Group as defined in Step 10. Select the Target Connector as defined in Step 3. Enable the
Default check box.
Note: Perform the above step for all the actions and save it.
30. To verify whether connector is added successfully or not, navigate to SPRO ==> SAP Reference IMG ==>
Governance Risk and Compliance ==> Access Control ==> Synchronization Job ==> Authorization Sync and
see whether this new connector is listed in the drop-down of connector or not.
3. In new screen click on Define Connectors. In right hand section with name Connection type definition click
on SAP.
4. In new screen click on New Entries and enter the value of Conn.Group as CROSS_SYST and Connector
Group Text as Cross_System_Group. Save it.
5. Select Cross System and on the left hand side double click Assign Connector Group to Group Types.
6. Click on New Entries and in the New screen select Connector Group Type as Cross_System_Group.
7. Select CROSS_SYST group and double click on Assign Connectors To Connector Groups.
8. Click on New Entries and add the connector Names configured in Step 1.
Upgrade settings
For the user upgrading to IdentityIQ version 8.0 Patch 2, perform the following changes in SAP GRC Data
Generator workflow to specify the values for:
• riskLevel, reportType and ruleSetId
a. In between the following lines add the following workflow process variables marked in bold:
"<Variable initializer="false" name="trace">
<Description>Used for debugging this workflow and when set to true trace
will be sent to stdout.</Description>
</Variable>"
<Description>A String value of Simulation Risk Only used for SAP GRC check.
</Description>
</Variable>*
"<Description> This subprocess is used in "Provision and Approval" subprocess.
b. At Invoke SAP GRC Request Executor step, add the following arguments and return structures:
<Arg name="simulationRiskOnly"/>
<Return name="simulationRiskOnly" to="simulationRiskOnly"/>
Support for Provisioning Start and End Date for Role Assignment
SAP GRC integration has been enhanced to provide support for provisioning start and end date for role
assignment. The start and end dates are the values set for the startDate and endDate variables in SAP GRC DATA
Generator workflow. These dates are passed to the SAP GRC integration and then to the SAP Direct for
provisioning.
If sunset/sunrise dates in IdentityIQ are used for role assignment, then these dates have to be passed to the SAP
GRC DATA Generator workflow and set to the startDate and endDate variables using additional customizations.
Note: The same start and end date would be applied to all the roles requested.
Note: With this release of SAP GRC Connector, precedence is given to Sunrise and Sunset Dates. To
support this feature, import ‘SAP GRC Data Generator’ workflow and ‘Set Date SAP GRC Role’
from examplesRules.xml file. Ensure that the customizations are done.
Note: By default if no dates are provided, then the startDate would be the currentDate and endDate
would be 31/12/9999
Perform the following changes on IdentityIQ workflows to support start and end date for role assignment:
1. Navigate to debug page and select Workflow from the drop down list.
2. Open Provisioning Approval Subprocess workflow and add the following:
• Workflow variables:
<Variable name="endDate" output="true">
<Description>End date of the role assignment.</Description>
</Variable>
<Variable name="startDate" output="true">
<Description>Start date of the role assignment.</Description>
</Variable>
• Search for SAP GRC Data Generator and add the following entries before <Workflowref> <Step> section:
<Return name="endDate" to="endDate"/>
<Return name="startDate" to="startDate"/>
3. Open Approve and Provision Subprocess workflow and add the following:
• Workflow variables:
<Variable name="endDate" output="true">
<Description>End date of the role assignment.</Description>
</Variable>
<Variable name="startDate" output="true">
<Description>Start date of the role assignment.</Description>
</Variable>
• Search for the entry named Provisioning Approval Subprocess and add the following entries before
<Workflowref>:
<Return name="endDate" to="endDate"/>
<Return name="startDate" to="startDate"/>
• Search for Identity Request Provision entry and add the following arguments to the existing list of
arguments in <Step> with name Provision:
<Arg name="endDate" value="ref:endDate"/>
<Arg name="startDate" value="ref:startDate"/>
4. Open Identity Request Provision workflow and add the following:
• Workflow variables:
<Variable name="endDate" output="true">
<Description>End date of the role assignment.</Description>
</Variable>
<Variable name="startDate" output="true">
<Description>Start date of the role assignment.</Description>
</Variable>
• Search for Provision with retries entry and add the following arguments to the existing list of arguments
in <Step> with name Provision:
<Arg name="endDate" value="ref:endDate"/>
<Arg name="startDate" value="ref:startDate"/>
5. Navigate to Process Designer ==> Process Variables.
• Click on Add a New Variable and enter the data for the following:
- Name: endDate
- Description: End date of the role assignment
- Select the Output check box.
- Save the form.
• Click on Add a New Variable and enter the data for the following:
- Name: startDate
- Description: Start date of the role assignment.
- Select the Output check box.
- Save the form.
• Right click on start step and select Edit Step:
- In Arguments section add arguments endDate, startDate with Reference fields respectively.
- Save the step.
• Click on Add A Step.
- Select Generic.
- Drag and drop the Generic step (in Auto Layout) after the Start Step.
- Select and click on Save.
- Right click on Generic and click Edit Step and provide the following values in the Details section:
Troubleshooting
Resolution: Add the separator in the sapGrcRuleParameters.xml file in the following format:
<Map>
<entry key='path' value='<path of .csv file>’>
<entry key='separator' value='&'/>
</Map>
Resolution: Roles which are requested, must have provisioning status set as Production on SAP GRC Server.
To set the status of role as Production, the Role maintenance quick link from the section Role Management can
be used in NWBC user interface.
1. GRAC_RISK_ANALYSIS_WOUT_NO_WS web service was not returning an error message if correct permis-
sions were not given to the service account.
Resolution: To resolve this issue implement the following SAP Note in the SAP GRC Server:
2187803 - GRAC_RISK_ANALYSIS_WOUT_NO_WS does not return correct error message
2. GRAC_RISK_ANALYSIS_WOUT_NO_WS web service not returning risk as the report format value input is
different as per different SP level of SAP GRC.
Resolution:
- For user on SAP GRC 10.1 SP level SP-Level 0010 or lower: initialize the value of REPORT_FORMAT
to DETAILED in the SAP GRC DATA generator workflow under ‘Initialize Detail Map’ step as follows:
private static final String REPORT_FORMAT = "DETAILED";
- For user on SAP GRC 10.1 SP level SP-Level 0011 or above: initialize the value of REPORT_FORMAT
to 2 in the SAP GRC DATA generator workflow under ‘Initialize Detail Map’ step as follows:
private static final String REPORT_FORMAT = "2";
Resolution: Implement the following SAP Note in the SAP GRC server:
2194063 - UAM: Request status IDM service doesn't return reqstatus and reqstatus_txt and request detail
service doesn't return comment, approvers and correct
10 - Request gets rejected in IdentityIQ even if its is approved on SAP GRC 12.0
Resolution: Implement the following SAP Note in the SAP GRC Server:
2698051 - AC12 - GET_REQUEST_DETAILS is returning empty line items
Resolution: SailPoint recommends requesting business roles with common entitlements with same dates as part
of same request.
Overview
SailPoint Epic Healthcare Integration Module supports managing Epic accounts and associated attributes.
Designed for deep integrations with Epic Healthcare, the connector provides the capability of fine grain user
access management so as to control and monitor users rights and privileges and make better-informed decisions.
SailPoint IdentityIQ for Epic Healthcare supports managing Epic user accounts (EMP records), linked templates,
linked sub-templates, InBasketClassifications and LoginDepartmentFilterList.
Important Considerations
For customers entitled to the IdentityIQ for Epic Healthcare Integration Module, the following requirements must
be met:
• access to the API of the Electronic Medical Record (EMR) system so that SailPoint Connector can connect
to the EMR system
• the Epic connector uses Core Binding, Personnel Management and Common SOAP Web-Services which
must be licensed from Epic.
Note: The SailPoint Identity Governance Healthcare Integration Module application can now be
added from the “Epic App Orchard” using the App Orchard App Request Process workflow. For
more information, contact your Epic support representative.
SailPoint will also require EMR access (non-production instance) to support ongoing development, test and
maintenance of SailPoint Healthcare Integration Module.
Supported Features
IdentityIQ for Epic Healthcare supports the following features:
• Account Management
- Manage Epic EMP records as Accounts
- Aggregation, Partitioning Aggregation, Refresh Account
- Create, Update, Delete
- Enable, Disable, Unlock
- Add/Remove Entitlements
Entitlements are supported for Epic Linked Template, Linked Sub-templates, InBasketClassifications and
LoginDepartmentFilterList.
• Account - Group Management
- Manage Epic Linked Template as Account - Groups
- Manage Epic Linked Subtemplates as Account - Groups
- Manage Epic InBasketClassifications as Account - Groups
- Manage Epic Login Department as Account - Groups
- Aggregation
Note: With Epic interconnect side only templates and subtemplates that are associated with a
user record can be aggregated.
Prerequisites
• Epic Web Services: Epic provides SOAP based Web-Services for connecting to various APIs. All
communication with the Epic Interconnect server should be done via these APIs. For Epic Healthcare to
work, following web services must be enabled on Interconnect server:
- Core: The Core WCF service fetches all the records matching specified filters. The Integration Module
uses this service to:
• read all records with INI type as EMP (for user records) and DEP (for login departments)
• get categories to get all possible value of
• Block Reason Code (Epic Item No. 55)
• InBasketClassifications (Epic Item No. 450)
- Personnel Management: The personnel management is a web service that implements all the
provisioning related API's used by the Integration Module. In addition, it provides interface to read
details about each of the EMP record that the Core service returns.
- Common: The common web services are the web services that are used to update
UserDemographics related attributes.
The Core, Personnel Management and Common Module of the Epic Web Services must be enabled for
access. A debugging interface available on the Epic Web Services server, displays the enabled and disabled
status of various Epic Web Services. This debugging interface must be used to view and verify that the
required Web Services are enabled when integrating with IdentityIQ. The format of the URL for the
diagnostic service is as follows:
http://[epic‐webservices‐server‐name]/[epic‐instancename]/StatusPage/Main.aspx
For example, http://example‐epic‐websrvr.acme.com/Interconnect‐TST_POC2014/StatusPage/Main.aspx
• Configuring the truststore: For configuring the trust store, server root certificate should be imported into
the keystore for the remote API calls. Ensure that the following java system property is set to the path of
the imported root certificate for SSL SOAP connections:
Djavax.net.ssl.trustStore2 = <Path of the imported root certificate>
• By default connector supports SOAP version 1.1. For customers using SOAP version 1.2, add the following
entry in the application debug page and perform the supported operations:
<entry key="soapVersion" value="1.2"/>
• The Core, Personnel Management and Common Web Service can be secured using WS-Security. The Epic
Healthcare supports Username token based WS-Security for Core, Personnel Management and Common
Web Service. It is recommended to provide Transport Layer Security (TLS) in conjunction with Username
token based approach for WS-Security. This ensures that the underlying communication channel keeps
the data encrypted.
Administrator Permissions
To manage IdentityIQ for Epic Healthcare, ensure that Web Services mentioned in the “ Prerequisites” section
must be enabled on Interconnect server.
Configuration Parameters
This section contains the information that this Integration Module uses to connect and interact with the
application.
IdentityIQ for Epic Healthcare uses the following methods for enabling the WS-Security:
• Core
• Personnel Management
• Common
Note: When enabling WS-Security for Core Binding and Personnel Management, the WS-Security
account must be configured for the Interconnect Web Service. If the account being configured
is a local account that is, it exists only on the Interconnect server, then the WS-Security
Username must be prefixed by ‘local:’. If the account being configured is an EMP account that
is, it exists as an EMP record in EPIC, then the WS-Security Username must be prefixed by ‘emp:’.
The IdentityIQ for Epic Healthcare uses the following configuration attributes:
Attribute Description
Epic Configuration
Attribute Description
Epic URL* The host URL of Epic instance.
Admin User ID* Specifies the administrator or the unique ID of the user which has
administrative level privileges to perform aggregation and
provisioning operation on Epic system.
Admin User Type The type of the ID specified in Admin User ID. Possible values are
Internal, External and so on.
Client ID Enter the Client ID of Epic system.
Note: Epic 2019 would require an update to support the use of a
SailPoint-specific Client ID issued by Epic.
Note: To obtain the SailPoint-specific Client ID
(SailPointSpecificClientID) issued by Epic, contact SailPoint
Customer Support as the SailPoint Identity Governance Healthcare
Integration Module application can now be added from the “Epic
App Orchard” using the App Orchard App Request Process workflow.
For more information, contact your Epic support representative.
Manage Active Accounts Only (Applicable to account aggregation only)
By default this is selected and will aggregate only active accounts
during account aggregation.
Page Size Number of records to fetch during account or group aggregation in a
single call to Interconnect server. Default: 500
Number of Partitions Define number of partitions to subdivide the aggregation data.This
overrides system suggested number of partitions.
Core Web Services Configuration
User ID User ID to connect to core Web Services.
Enable WS-Security Checkbox to enable WS-Security for Core Web Service with Username
token.
Username* Enter Core Web Service WS-Security Username.
Password* Enter Core Web Service WS-Security Password.
Personnel Management Web Services Configuration
Enable WS-Security Checkbox to enable WS-Security for Personnel Management with
username token.
Username* Enter Personnel Management WS-Security Username.
Password* Enter Personnel Management WS-Security Password.
Note: For more information on additional configurations of WS-Security for Personnel Management,
see “ Additional Configurations for WS-Security”.
Enable Auditing Enable auditing information.
Audit User ID The identifier of the person who is creating the new User record. This
ID must correspond to the Audit User ID Type.
Audit User Password The Epic password of the Audit User.
Attribute Description
Audit User Type The type of the ID specified in Audit User ID.
Common Web Services Configuration
Enable WS-Security Select this checkbox to enable WS-Security for Common Web Services
with Username token.
Username* Enter Common Web Services WS-Security Username.
Password* Enter Common Web Services WS-Security Password.
Note: For more information on additional configurations of WS-Security for Common, see “ Additional
Configurations for WS-Security”.
Additional Configurations
This section describes the additional configurations for Epic Connector.
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/Inc
ludeToken/AlwaysToRecipient" />
</wsp:Policy>
</sp:SignedSupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Here, 10 and 20 are the block reason code examples. Similarly, any such reason code can be added in this entry
key.
Note: By default, lock reason code ‘10’ is considered as locked in Epic Connector.
Schema Attributes
This section describes the different schema attributes.
Account Attributes
The following table lists the account attributes:
Note:
• Following attributes support only provisioning. Due to Epic API limitation, reading the value for the
following attributes is not supported:
EmailAddress, PhoneNumber, FaxNumber, UpdateLinkedProviderRecord, Address_City,
Address_Country, Address_County, Address_District, Address_HouseNumber, Address_Lines,
Address_State, Address_ZipCode
• IdentityIQ for Epic Healthcare provides support for all types of UserID's. For example, External, Internal,
SytemLogin and so on. User must manually add the new schema attribute in account schema in the
following specified format:
UserID_userIDType
For example, UserID_Internal, UserID_ SytemLogin, UserID_External and so on.
The suffix in schema attribute must be the same as the type of userID received in viewUser response, for
example, for Internal UserID the schema attribute name must be UserID_Internal)
Group Attributes
The following table lists the Group attributes:
Note: IdentityIQ for Epic Healthcare provides provisioning support for other types of UserID's (for
example, External, Internal, SytemLogin and so on) supported by the managed system.
Respective attributes must be added in the provisioning policy.
To provide multiple LoginTypes, values can be provided separated by the ‘,’ delimiter.
Following is the provisioning policy format for LinkedTemplateConfig:
LinkedTemplateConfig = LinkedTemplateID#StartDate#EndDate#LoginTypes
Examples:
- To update Template T1 with values provided: T1#01/01/11#12/31/21#Hover,Home Health
- To update Template T1 is updated with values provided and remove StarDate, EndDate as it is not
provided: T1###Hover,Home Health
- To update Template T1 is updated with values provided, existing values of StarDate, EndDate is
preserved: T1#*#*#Hover,Home Health
- Assign same StartDate, EndDate and LoginTypes for all those LinkedTemplates for which StartDate,
EndDate and LoginTypes is not provided: *#01/01/11#12/31/21#Hover,Home Health
• The Epic Connector aggregates/provisions only External ID's of account attributes by default. However
user can select the ID type for account schema attributes by adding the following map in account schema:
<entry key="idTypeMap">
<value>
<Map>
<entry key="DefaultLoginDepartmentID" value="Internal" />
<entry key="AuthenticationConfigurationID" value="Name" />
<entry key="LinkedProviderID" value="Internal" />
<entry key="DefaultLinkedTemplateID" value="CID" />
<entry key="LinkedTemplateID" value="Internal" />
<entry key="LinkedSubtemplateIDs" value="Internal" />
<entry key="UserRoles" value="External" />
<entry key="ReportAuthorizedServiceAreas" value="CID" />
<entry key="ReportAuthorizedLocations" value="Internal" />
<entry key="ReportAuthorizedDepartments" value="CID" />
<entry key="ReportAuthorizedDepartmentGroups" value="CID" />
<entry key="PreferredLoginDepartments" value="External" />
</Map>
</value>
</entry>
In the above map the schema attributes have name as key and the ID type as value. For example, in above
map the ID type for LinkedProviderID is internal hence EPIC Connector aggregates/provisions the Internal ID
of LinkedProviderID.
- ReportAuthorizedServiceAreas
- ReportAuthorizedLocations
- ReportAuthorizedDepartments
- ReportAuthorizedDepartmentGroups
- ReportAuthorizedUsers
- ReportAuthorizedProviders
- PreferredLoginDepartments
- DefaultLoginDepartmentID
Note:
a. If any attribute is not present in the map Connector will aggregate or provision the attribute as Ex-
ternalID.
b. If the map is added or modified in application XML, user must perform the Account and
Account-Group aggregation with Detect Deleted Accounts set to true to avoid data mismatch.
Troubleshooting
3 - For JBoss EAP server, test connection fails with an error message
The following error message appears when the test connection fails for JBoss EAP Server:
Exception while connecting to Personnel service
Resolution: Copy the addressing-1.6.1.mar file from \\WEB-INF\lib\ directory to deployment directory
of JBoss (for example, jboss-eap-6.2\standalone\deployments) in order to work with certificate based
authentication on JBoss.
Provide the path to MAR files as a parameter while starting JBOSS EAP server (for example, standalone.bat
-Daxis2.repo=\\jboss-eap6.2\standalone\deployments\addressing-1.6.1.mar)
4 - Not able to generate SOAP Envelope logging in IdentityIQ for Epic Healthcare
When performing any operation, not able to generate SOAP Envelope logging in IdentityIQ for Epic Healthcare.
Resolution: To enable advanced SOAP Envelope logging in IdentityIQ for Epic Healthcare configure the following
attribute in xml application schema:
<entry key="logSOAPEnvelop" value ="true"/>
where, value is the maximum number of calls that would be made to Interconnect server.
Resolution: Provide a link as follows without the trailing backslash at the end:
http://example-epic-websrvr.acme.com/Interconnect-TST_POC2014
7- When upgrading IdentityIQ to version 8.0 Patch 2 and WS-Security is enabled for
EPIC connector, Test Connection fails with an error
When upgrading IdentityIQ to version 8.0 Patch 2 and WS-Security is enabled for EPIC connector, Test Connection
fails with the following error message:
Test [ConnectionFailedException] [Possible suggestions] Ensure the Epic system host
is reachable and there is a smooth connectivity between Identity Server and Epic host.
[Error details] Failed to connect to Epic System. At least one security token in the
message could not be validated.
<entry key=“aggregationRetryErrors”>
<value>
<List>
<String>The input stream for an incoming message is null</String>
<String>Connection reset</String>
<String>Read time out</String>
</List>
</value>
</entry>
Note: When performing the aggregation operation again, add/remove the errors.
Overview
Cerner Corporation is a global supplier of health care information technology (HCIT) solutions, services, devices
and hardware. Cerner solutions optimize processes for health care organizations. The IdentityIQ for Cerner
Healthcare is designed to provide automated way of provisioning through SailPoint IdentityIQ solution.
Supported Features
IdentityIQ for Cerner Healthcare supports the following features:
• Account Management
- Aggregation, Refresh Account
- Create, Update, Delete
- Enable, Disable, Change Password
- Add/Remove Entitlements (position and organization groups)
• Account - Group Management
- Aggregation
Prerequisites
The Cerner Enterprise Provisioning Service exposes the provisioning mechanism to external requests and
responses using the SPML (Service Provisioning Markup Language), which is an standard Cerner Millennium
provisioning language. Through this service, its possible to support external provisioning solutions to create and
maintain users.
The following details are required:
Note: These details are provided by Cerner to individual customer. Hence these details vary as per the
customer.
• Provisioning Servlet: The Cerner connector accesses the provisioning servlet URL, an customer specific
enterprise provisioning service to perform all the aggregation & provisioning related operations.
• Target ID: Along with the servlet, an customer specific target ID is required for IdentityIQ to connect to
Cerner Provisioning adapter (through Cerner API’s access)
• Permissions: The Cerner provisioning adapter requires one Millennium account having Manage Accounts
privilege, which modifies the users within Millennium. The service account is mapped to TargetID which
is required in order to make calls to the provisioning adapter.
All the above prerequisites are mandatory as Cerner does not define users having the authority to send requests
in any method.
Configuration Parameters
Parameters Description
Cerner URL URL of the Provisioning Servlet and the Provisioning Servlet allows SailPoint Cerner
connector to communicate with Cerner through SPML calls.
Schema Attributes
Account Attributes
The following table lists the account attributes:
Attributes Description
ID Identifies an object that exists on a target that is exposed by a provider
username The user name associated with the account. The value of the user name field must
be unique within the target Cerner Millennium domain. Any value between 1 and
48 characters
directoryIndicator • True (LDAP user)
• False (non-LDAP user)
Group Attributes
The following table lists the group attributes:
Attributes Description
Id The Id of the group.
Display Display name of the group.
Attributes Description
Id Unique identifier of the organization group.
Display Display value of the organization group.
Create Account
The following table lists the provisioning policy attributes for Create Account:
Attributes Description
username The user name associated with the account. The value of the user name field must
be unique within target Cerner Millennium domain [1- 48 characters]
Attributes Description
password The password for the user account. Any value, assuming that value meets all
criteria defined in the Cerner Millennium password policy maintained in AuthView.
The password is only required when the user being provisioned is a non-LDAP user
(when the user will authenticate against the Cerner Millennium user directory).
first name Given (first) name for the personnel.
lastname Surname (last name) for the personnel.
confidentialityLevel The confidentiality level set for organization or organization groups.
Update Account
The following table lists the provisioning policy attributes for Update Account:
Attributes Description
confidentialityLevel The confidentiality level set for organization or organization groups.
Additional Information
• personnelAlias
- To provision personnelAlias through update account provisioning policy, enter the input format for
attribute as follows:
alias-id:XXXX#alias-type:<AliasType>#alias-pool:<AliasPool>
For example,
alias-id:SP#alias-type:DOCUPIN#alias-pool:UPIN#alias-startdate:2017/12/5#ali
as-enddate:2100/12/5
For example,
cred-name:MD#cred-type:License#cred-state:AK#cred-AddToNameIndicator:true
For example,
cred-name:MD#cred-type:License#cred-state:AK#cred-AddToNameIndicator:false#c
red-idNumber:IDNumber101#cred-displaySequence:101#cred-beginEffectiveDateTim
e:2015/06/23#cred-endEffectiveDatetime:2100/12/31#cred-RenewalDateTime:2100/
09/30
• address
- To provision address through update account provisioning policy, enter the input format for attribute
as follows:
addr-type$addr-street1$addr-street2$addr-street3$addr-street4$addr-city$addr
-state$addr-zipcode$addr-country
For example,
addr-type:Ship To$addr-street1:Street 1$addr-street2:Street
2$addr-street3:Street 3$addr-street4:Street
4$addr-city:Citrus$addr-state:Alberta$addr-zipcode:585546$addr-country:Austr
alia
- To provision address attributes with additional attributes like addr-begindate and addr-enddate,
entry key addressFormat must be added in the application debug page as follows:
<entry key="addressFormat"
value="addr-type$addr-street1$addr-street2$addr-street3$addr-street4$addr-ci
ty$addr-state$addr-zipcode$addr-country $addr-begindate$addr-enddate"/>
For example,
addr-type:Billing$addr-street1:Street 1$addr-street2:Street
2$addr-street3:Street 3$addr-street4:Street
4$addr-city:Alger$addr-state:Ontario$addr-zipcode:452245$addr-country:Denmar
k$addr-begindate:2018/10/10$addr-enddate:2018/10/30
Note: Default delimiter for address is considered as "$". In order to change the delimiter, add the
following entry in application debug page and change the value:
<entry key="addressColumnDelimiter" value="<<delimiter as
required>>"/>
The entry key addressFormat must be updated with the required delimiter.
• phone
- To provision phone through update account provisioning policy, enter the input format for attribute
as follows:
phone-number:<PhoneNumber>#phone-type:<TypeOfPhone>#phone-extension:<PhoneEx
tension>
For example,
phone-number:60548567#phone-type:Billing#phone-extension:0015
- To provision the phone attribute with additional attributes like phone-begindate and
phone-enddate, entry key phoneFormat must be added in the application debug page as follows:
<entry key="phoneFormat"
value="phone-number#phone-type#phone-extension#phone-format#phone-desc#phone
-instruction#phone-begindate#phone-enddate"/>
For example,
phone-number:9885628655#phone-type:Home#phone-extension:12052#phone-format:D
efault#phone-desc:Descrption for Phone#phone-instruction:Any specific
instruction#phone-begindate:2018/10/10#phone-enddate:2018/12/31
Troubleshooting
Resolution: Verify the read and write privileges for the Cerner Administrator account provided in application
configuration.
Resolution: Ensure that the position account schema attribute must be group instead of string.
Overview
The IdentityIQ for RACF Mainframe manages IBM RACF User Profiles and Group Profiles.
Supported Features
IdentityIQ for RACF Mainframe supports the following features:
• Create RACF User Profile
• Update RACF User Profile
• Update RACF Group Profile
• Add a RACF Group Profile to a RACF User Profile
• Remove a RACF Group Profile from a RACF User Profile
• Change password of a RACF User Profile
• Enable/Disable a RACF Profile
Overview
The IdentityIQ for Top Secret Mainframe manages CA-Top Secret User ACIDs and Profile/Group ACIDs.
Supported Features
IdentityIQ for TopSecret Mainframe supports the following features:
• Create ACID for CA-Top Secret User
• Update CA-Top Secret User ACID (for example, update Department, Division, Zone to ACID of a CA-Top
Secret User
• Update CA-Top Secret User ACID to add/remove a CA-Top Secret Profile/Group
• Change password of a CA-Top Secret User
• Enable/Disable a CA-Top Secret User
• Add a CA-Top Secret ACID of a Profile/Group
Overview
The IdentityIQ for ACF2 Mainframe manages users and UIDs (implemented as Groups) in CA-ACF2.
Supported Features
IdentityIQ for ACF2 Mainframe supports the following features:
• Create Users in CA-ACF2
• Update Users in CA-ACF2
• Connect User to Group by updating the UID string of user in CA-ACF2
• Disconnect User from Group by updating the UID string of user in CA-ACF2
• Create and update groups in IdentityIQ for the CA-ACF2 Users
• Change password of a CA-ACF2 User
Overview
The IdentityIQ for RACF LDAP Mainframe mainly uses the LDAP interfaces to communicate with z/OS LDAP
server. The IdentityIQ for RACF LDAP Mainframe supports reading and provisioning of RACF LDAP users and
entitlements.
Supported Features
IdentityIQ for RACF LDAP Mainframe supports the following features:
• Account Management
- Manages RACF LDAP Users as Account
- Aggregate, Refresh Accounts, Partitioning Aggregation
- Create, Update, Delete
- Enable, Disable, Change Password
- Add/Remove Entitlements
• Group Management
- Aggregation
For more information on partitioning aggregation, see “Defining Search Scope” on page 211.
System requirements
• The following respective components for z/OS versions must be installed for TLS communication:
Prerequisites
Ensure that the following prerequisites are satisfied for the directory servers:
• Set the value of the LDAP_COMPAT_FLAGS environment variable to 1
The SDBM attributes which are in DN format are by default returned in Uppercase format. This causes
duplicate entry of entitlement in IdentityIQ due to the difference in the cases of group DN fetched while
aggregation and group DN fetched while group membership provisioning operation.
To avoid the mentioned issue, the LDAP_COMPAT_FLAGS environment variable is set to 1 which would
return the values for the mentioned attributes in mixed case format that is in the same format as of group
DN returned during aggregation.
The LDAP_COMPAT_FLAGS environment variable value can be specified in LDAP server environment
variables file. By default, the file name is /etc/ldap/ds.envvars.
• RACF restriction on amount of output
When processing certain LDAP search requests, SDBM uses the RACF R_admin run command interface to
issue RACF search commands. The R_admin run command interface limits the number of records in its
output to 4096. This means that the RACF search command output might be incomplete if you have many
users, groups, connections, or resources.
To avoid the mentioned search limit issue, Partition must defined to retrieve all requested objects. Partitions
must be created in such a way that each Partition must not exceed the default or specified search limit. For
more information on defining Partitions, see “Defining Search Scope” on page 211.
AdministratorPermissions
The service account configured for IdentityIQ for RACF LDAP Mainframe must have the read/write privileges over
the RACF directory information tree in order to manage the RACF data, that is, the administrator user must have
SPECIAL attribute to be able to manage all RACF entries. In order to limit the scope of service account,
group-SPECIAL user can be created as per the requirement. Administrator user must not be a PROTECTED user
that is, administrator user must have password.
Configuration Parameters
This section contains the information that this Integration Module uses to connect and interact with the
application. Each application type requires different information to create and maintain a connection.
The IdentityIQ for RACF LDAP Mainframe uses the following configuration parameters:
Parameters Description
RACF LDAP Configuration Parameters
Use TLS Specifies if the connection is over TLS.
Note: When using 'Use TLS' option for RACF LDAP application, the certificate
used must have FQDN of server machine as the subject under CN.
User* User to connect as a DN string such as Administrator.
Password* Password for the administrator account.
Port* Port number through which the server is listening.
Parameters Description
Host* Host of the LDAP server.
Connect Profile DN* Connect Profile type DN used during group membership provisioning.
Provisioning Sets the RACF connection properties defined in Provisioning Policy to all the
Properties to All RACF connections when multiple RACF Groups are requested in single operation.
Connections
Account Settings
Search Scope Depth to search the LDAP tree.
• Subtree: A subtree search (or a deep search) includes all child
objects as well as the base object. When referrals are followed (by
default, Integration Module follow referrals) then the scope will
also include child domains of the base object (when it is a parent
domain) in a forest.
• Base: Limits the search to the base object or named object.
• One Level: Search is restricted to the immediate children of a base
object, but excludes the base object itself.
Search DN* Distinguished name of the container.
Iterate Search Filter LDAP filter that defines scope for accounts/groups from this container.
Filter String Used to filter object as they are returned for an underlying application. Derived
attributes can also be included in the filter.
Attributes Description
racfConnectGroupName When default group is updated from account, to retain the old
default group in racfConnectGroupName attribute, add the
following attribute in the application debug page:
<entry key="dropDefaultGroupConnection">
<value>
<Boolean>true</Boolean>
</value>
</entry>
disableLDAPHostnameVerification To disable hostname verification during LDAP Communication over
TLS, configure the following attribute in the application debug page:
<entry key="disableLDAPHostnameVerification"
value="true"/>
Schema Attributes
The application schema is used to configure the objects returned from a Integration Module. When an Integration
Module is called, the schema is supplied to the methods on the Integration Module interface. This Integration
Module currently supports two types of objects, account and group.
Account Attributes
Account objects are used when building identities Link objects.
Attribute Description
dn Distinguished name by which the user is known.
racfid ID for an user on RACF.
objectClass Describes the kind of object which an entry represents. This attribute is
present in every entry, with at least two values. One of the value is top
or alias.
racfAttributes Multi-valued attribute which list keywords that describes more about
the user account. For example, racfAttributes can be used to add a RACF
user entry with ADSP GRPACC NOPASSWORD or modify a RACF user
entry with NOGRPACC SPECIAL NOEXPIRED RESUME NOOMVS.
racfClassName Multi-valued attribute used to specify the classes in which the new user
is allowed to define profiles to RACF for protection. Classes that can be
specified are USER, and any resource classes defined in the class
descriptor table.
racfDefaultGroup Represents the default group associated with the user.
racfConnectGroupName List of groups of which this person is a member.
Attribute Description
racfLogonDays A multi-valued attribute which specifies the days of the week when the
user is allowed to access the system from a terminal.
racfLogonTime Hours in the day when the user is allowed to access the system from a
terminal.
racfAuthorizationDate Date when user was defined to RACF system.
racfInstallationData Installation data associated the user.
racfDatasetModel Discrete data set profile name that is used as a model when new data
set profiles are created that have userid as the high-level qualifier.
racfOwner Distinguished name of the owner of the user.
racfOperatorClass Multi-valued attribute contains classes assigned to this operator to
which BMS (basic mapping support) messages are to be routed - CICS
segment.
racfOperatorIdentification Operator ID for use by BMS - CICS segment.
racfOperatorPriority Number from 0 - 255 that represents the priority of the operator - CICS
segment.
racfTerminalTimeout Time, in hours and minutes, that the operator is allowed to be idle
before being signed off - CICS segment.
racfOperatorReSignon Specifies whether the user is signed off by CICS when an XRF takeover
occurs - CICS segment.
SAFAccountNumber Users default TSO account number when logging on through the TSO/E
logon panel - TSO segment.
SAFDefaultCommand Specifies the command run during TSO logon - TSO segment.
SAFDestination Specifies the default destination to which the system routes
dynamically-allocated SYSOUT data sets - TSO segment.
SAFHoldClass Specifies the users default hold class. The specified value must be 1
alphanumeric character, excluding national characters - TSO segment.
SAFJobClass Specifies the users default job class. The specified value must be 1
alphanumeric character, excluding national characters - TSO segment.
SAFMessageClass Specifies the users default message class. The specified value must be
1 alphanumeric character, excluding national characters - TSO segment.
SAFTsoSecurityLabel Specifies the users Security label entered or used during TSO LOGON -
TSO segment.
SAFDefaultSysoutClass Specifies the users default SYSOUT class - TSO segment.
SAFDefaultUnit Specifies the default name of a device or group of devices that a
procedure uses for allocations - TSO segment.
SAFDefaultLoginProc Specifies the name of the users default logon procedure when logging
on through the TSO/E logon panel - TSO segment.
SAFLogonSize Specifies the default or requested region size during TSO logon - TSO
segment.
Attribute Description
SAFMaximumRegionSize Specifies the maximum region size the user can request at logon - TSO
segment.
SAFUserdata Specifies the optional installation data defined for the user. The
specified value must be 4 EBCDIC characters. Valid characters are 0 - 9
and A - F - TSO segment
Group Attributes
The group schema is used when building AccountGroup objects which are used to hold entitlements shared
across identities.
Attribute Description
dn Distinguished name by which the Group is known.
racfid ID for group on RACF.
objectClass The values of the objectClass attribute describe the kind of object which
an entry represents. The objectClass attribute is present in every entry, with at
least two values. One of the values is either “top” or “alias”.
racfAuthorizationDate Date when group was defined to RACF system.
racfInstallationData Installation data associated the group.
racfOwner Distinguished names of objects that have ownership responsibility for the object
that is owned.
racfGroupNoTermUAC Specifies that during terminal authorization checking, RACF is to allow the use of
the universal access authority for a terminal when it checks whether a user in the
group is authorized to access a terminal.
racfSuperiorGroup Distinguished name of the superior group of the associated group.
racfSubGroupName Distinguished name of the groups to which the associated group is superior
group.
racfGroupUniversal Specifies that this is a universal group that allows an effectively unlimited
number of users to be connected to it for the purpose of resource access.
racfGroupUserids Distinguished names of the users which are member of the group.
racfDatasetModel Discrete data set profile name that is used as a model when new data set profiles
are created that have group name as the high-level qualifier.
Attributes Description
Create Account
Attributes Description
dn* Distinguished name of the user to be created.
password* Password of the user to be created.
racfDefaultGroup Default group of the user to be created. Value for this field will be the DN of the
group.
racfOwner The owner of the user to be created. Value for this field will be the DN of the group
or user.
connection_racfco Distinguished name of the connection owner.
nnectowner
connection_racfCo Connection Revoke Date. For example, mm/dd/yy
nnectRevokeDate
Update Account
connection_racfco Distinguished name of the connection owner.
nnectowner
connection_racfCo Connection Revoke Date. For example, mm/dd/yy
nnectRevokeDate
Additional Information
This section describes the additional information related to the IdentityIQ for RACF LDAP Mainframe.
TTLSGroupAction GrpAct_LDAP
{
TTLSEnabled On
Trace 7
}
TTLSEnvironmentAction GrpEnv_LDAP
{
Trace 7
HandshakeRole Server
EnvironmentUserInstance 0
TTLSKeyringParmsRef PrmKeyRing_LDAP
TTLSEnvironmentAdvancedParmsRef PrmEnvAdv_LDAP
}
TTLSEnvironmentAdvancedParms PrmEnvAdv_LDAP
{
TLSv1.1 On
TLSv1.2 On
ClientAuthType PassThru
}
TTLSConnectionAction GrpCon_LDAP
{
HandshakeRole Server
TTLSCipherParmsRef PrmCipher_LDAP
TTLSConnectionAdvancedParmsRef PrmConAdv_LDAP
CtraceClearText Off
Trace 7
}
TTLSConnectionAdvancedParms PrmConAdv_LDAP
{
ApplicationControlled Off
CertificateLabel GLDSRV
SecondaryMap Off
}
TTLSCipherParms PrmCipher_LDAP
{
# supported cipher suites - we used a wide list, that should be decreased according
# to specific needs
V3CipherSuites TLS_DH_DSS_WITH_DES_CBC_SHA
V3CipherSuites TLS_DH_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_NULL_WITH_NULL_NULL
V3CipherSuites TLS_RSA_WITH_NULL_MD5
V3CipherSuites TLS_RSA_WITH_NULL_SHA
V3CipherSuites TLS_RSA_EXPORT_WITH_RC4_40_MD5
V3CipherSuites TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
V3CipherSuites TLS_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_DHE_DSS_WITH_DES_CBC_SHA
V3CipherSuites TLS_DHE_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA256
V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
}
TTLSKeyringParms PrmKeyRing_LDAP
{
Keyring GLDRING
}
<List>
<Map>
<entry key="iterateSearchFilter" value="(racfid=a*)"/>
<entry key="searchDN" value="profiletype=USER,cn=SDBM"/>
<entry key="searchScope" value="SUBTREE"/>
</Map>
<Map>
<entry key="iterateSearchFilter" value="(racfid=b*)"/>
<entry key="searchDN" value="profiletype=USER,cn= SDBM "/>
<entry key="searchScope" value="SUBTREE"/>
</Map>
<Map>
<entry key="iterateSearchFilter" value="(racfid=c*)"/>
<entry key="searchDN" value="profiletype=USER,cn= SDBM "/>
<entry key="searchScope" value="ONELEVEL_SCOPE"/>
</Map>
<Map>
<entry key="iterateSearchFilter" value="(racfid=d*)"/>
<entry key="searchDN" value="profiletype=USER,cn= SDBM "/>
<entry key="searchScope" value="SUBTREE"/>
</Map>
……..
…..
…..
……
<Map>
<entry key="iterateSearchFilter" value="(racfid=z*)"/>
<entry key="searchDN" value="profiletype=USER,cn= SDBM "/>
<entry key="searchScope" value="SUBTREE"/>
</Map>
</List>
</value>
</entry>
Note: Each specified partition has to be unique by way of the iterateSearchFilter value. If not, the first
partition would get aggregated skipping the subsequent duplicate ones.
Partitions must be created in such a way that each partition must not exceed the default or
specified search limit.
Troubleshooting
Resolution: Passphrase can be 9 - 100 characters if KDFAES or ICHPWX11 encryption algorithm is present on the
server. If KDFAES or ICHPWX11 encryption algorithm is not present on the server then the allowed number of
characters for passphrase are 14 - 100.
Resolution: For change password operation, connections of the accounts must not be revoked.
Resolution: Ensure that the default group is specified. If Owner of the user account is not specified then default
group of the user would be the owner of the user account.
Resolution: Add the following entry in the catalina.bat (Tomcat) file and restart the application server.
set JAVA_OPTS=%JAVA_OPTS%
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
Overview
The IdentityIQ for TopSecret LDAP Mainframe mainly uses the LDAP interfaces to communicate with CA LDAP
server. The IdentityIQ for TopSecret LDAP Mainframe supports reading and provisioning of Top Secret LDAP
users and entitlements.
Supported Features
IdentityIQ for TopSecret LDAP Mainframe supports the following features:
• Account Management
- Manages Top Secret LDAP Users as Account
- Aggregate, Refresh Accounts, Partitioning Aggregation
- Create, Update
- Enable, Disable, Unlock, Change Password
- Add/Remove Entitlements
• Group Management
- Aggregation
For more information on partitioning aggregation, see “Partitioning Aggregation” on page 224.
Creating TLS communication between IdentityIQ and Top Secret LDAP Server
To create TLS communication between IdentityIQ and Top Secret LDAP Server, perform the following:
1. Implement z/OS Secured Communication to Top Secret LDAP Server.
For more information on implementing the secured communication to Top Secret LDAP, see “Implementing
Secured Communication to Top Secret LDAP Server” on page 221.
2. Export server CA certificate and copy the exported .cer file to the Java client computer (IdentityIQ com-
puter).
3. At the client computer execute the following command from the bin directory of JDK:
keytool -importcerts –trustcacert –alias aliasName –file <absolute path of
certificate> -keystore <JAVA_HOME>/jre/lib/security/cacerts
In the preceding command line, aliasName is the name of the alias.
4. Login to IdentityIQ.
5. Create the application for Top Secret LDAP, use TLS and provide all the required values.
6. Click on Test Connection and save the application.
Administrator Permissions
The service account configured for IdentityIQ for TopSecret LDAP Mainframe must have the read/write privileges
over the Top Secret directory information tree in order to manage the Top Secret data.
Configuration Parameters
This section contains the information that this Integration Module uses to connect and interact with the
application. Each application type requires different information to create and maintain a connection.
The IdentityIQ for TopSecret LDAP Mainframe uses the following configuration parameters:
Parameters Description
Host* Host of the LDAP server.
Port* Port number through which the server is listening.
Parameters Description
Use TLS Specifies if the connection is over TLS.
Note: When using 'Use TLS' option for Top Secret LDAP application, the
certificate used must have FQDN of server machine as the subject under CN.
User* User to connect as a DN string such as Administrator.
Password Password for the administrator account.
Suffix* Distinguished name of the container.
Account Filter LDAP filter that defines scope for accounts from this container.
Attributes Description
disableLDAPHostnameVerification To disable hostname verification during LDAP Communication over
TLS, configure the following attribute in the application debug page:
<entry key="disableLDAPHostnameVerification"
value="true"/>
Schema Attributes
The application schema is used to configure the objects returned from a Integration Module. When an Integration
Module is called, the schema is supplied to the methods on the Integration Module interface. This Integration
Module currently supports three types of objects account, TopSecretProfile and TopSecretGroup.
Account Attributes
Account objects are used when building identities Link objects.
Attribute Description
dn Distinguished name of the Top Secret User.
ACCESSORID Top Secret User ID.
objectClass Top Secret User Object Classes.
AACID Authority levels at which ACID can manage ACIDs within scope.
AdminListData Authority to list Security File information
Misc1 Authority to perform one or more administrative functions (LCF, INSTDATA,
USER, LTIME, SUSPEND, NOATS, RDT, TSSSIM, ALL)
Misc2 Authority to perform one or more administrative functions (ALL, SMS, TSO, NDT,
DLF, APPCLU, WOR)
Attribute Description
Misc3 Authority to perform one or more administrative functions (ALL, SDT, PTOK)
Misc8 Authority to list the contents of the RDT, FDT or STC or to use the ASUSPEND
administrative function (LISTRDT, LISTSTC, LISTAPLU, LISTSDT, MCS, NOMVSDF,
PWMAINT, REMASUSP, ALL)
Misc9 Authority to perform one or more high-level administrative functions (BYPASS,
TRACE, CONSOLE, MASTFAC, MODE, STC, GLOBAL, GENERIC, ALL)
ASUSPEND Account is suspended due to administrator action.
NODSNCHK CA Top Secret bypasses all data set access security checks for this ACID.
SITRAN CICS transaction CA Top Secret automatically executes after an ACID successfully
signs on to a facility.
OPCLASS CICS operator classes.
OPIDENT CICS operator identification value equal to the ACID OPIDENT entry in the CICS
SNT (Signon Table).
OPPRTY CICS operator priority of associated ACID.
SCTYKEY CICS security keys an ACID may use.
CONSOLE Ability to modify control options by ACID.
CREATED Date ACID was created.
DEPT Department ACID.
DIVISION Division ACID.
EXPIRE Expiration date of ACID.
GROUPS List of Groups a TSS User is a member.
XSUSPEND Account is suspended due to CA-Top Secret Installation exit.
LAST-COUNT Number of times the ACID has been used (logon times since user was defined).
MASTFAC Multi-user facility name.
MCSAUTH Authorize the operator commands that can be entered from the console.
PROFILES List of Profiles a Top Secret User is a member.
MODIFIED Last date and time when ACID was updated.
NAME Name of ACID.
NOPWCHG Prevent ACID from changing passwords at signon or initiation.
OIDCARD Prompt ACID to insert identification cards into a batch reader whenever signing
on to TSO.
DFLTGRP Default group to an ACID operating under OpenEdition MVS.
HOME Subdirectory of ACID under OMVS.
UID Numeric UID value for security within USS.
PSUSPEND Account is suspended due to password violation.
PHYSKEY Physical security key to support external authentication devices.
Attribute Description
TSOHCLASS Default hold class for TSO-generated JCL for TSO users.
TSOJCLASS Job class for TSO generated job cards from TSO users.
TSOLACCT TSO Default account number.
TSOCOMMAND Default command issued at TSO logon.
TSOLPROC Default procedure used for TSO logon.
TSOMSIZE Maximum region size (in kilobytes) that a TSO user may specify at logon.
TSOMCLASS Default message class for TSO generated JCL for TSO users.
TSOMPW Support multiple TSO UADS passwords, on a user-by-user basis.
TSOOPT Default options that a TSO user may specify at logon
TSODEST Default destination identifier for TSO generated JCL for TSO users.
TSODEFPRFG Default TSO performance group.
TSOLSIZE Default region size (in kilobytes) for TSO.
TSOSCLASS Default SYSOUT class for TSO generated JCL for TSO users.
TSOUNIT Default unit name for dynamic allocations under TSO.
TSOUDATA Site-defined data field to a TSO user.
USER User defined classes and resources.
PASSEXPD Expiration date of password.
PASSINTV Number of days during which password remains valid.
TYPE ACID type (MSCA,LSCA,SCA,ZCA,VCA,MCA,USER).
VSUSPEND Account is suspended due to access violation.
ZONE Zone ACID.
TopSecretProfile Attributes
The following table lists the profile attributes.
Attribute Description
dn Distinguished name of Top Secret Profile.
ACCESSORID Top Secret Profile Id.
objectClass Top Secret Profile Object Classes.
AUDIT Allow an audit of ACID activity.
CREATED Date ACID was created.
DEPT DEPT ACID.
DIVISION Division ACID.
GAP Globally administered profile.
Attribute Description
MODIFIED Last date and time when ACID was updated.
NAME Name of ACID.
NOPWCHG Prevent ACID from changing passwords at signon or initiation.
OIDCARD Prompt ACID to insert identification cards into a batch reader whenever signing
on to TSO.
GID Group identification for OMVS.
SOURCE Source reader or terminal prefixes through which the associated ACID may enter
the system.
LTIME How long (in minutes) until terminal of ACID locks if CA Top Secret does not
detect activity at that terminal.
TYPE ACID type.
ZONE Zone ACID.
TopSecretGroup Attributes
The following table lists the group attributes.
Attribute Description
dn Distinguished name of Top Secret Profile.
ACCESSORID Top Secret Group Id.
objectClass Top Secret Group Object Classes.
AUDIT Allow an audit of ACID activity.
CREATED Date ACID was created.
DEPT DEPT ACID.
DIVISION Division ACID.
GAP Globally administered profile.
MODIFIED Last date and time when ACID was updated.
NAME Name of ACID.
NOPWCHG Prevent ACID from changing passwords at signon or initiation.
OIDCARD Prompt ACID to insert identification cards into a batch reader whenever signing
on to TSO.
GID Group identification for OMVS.
SOURCE Source reader or terminal prefixes through which the associated ACID may enter
the system.
LTIME How long (in minutes) until terminal of ACID locks if CA Top Secret does not
detect activity at that terminal.
TYPE ACID type.
Attribute Description
ZONE Zone ACID.
Attributes Description
USER DN* Distinguished name of the user to be created.
Password* Password of the user to be created.
Full Name* Name of the Top Secret user to be created
Department* DEPT of which the user would be a part.
Facilities Permit an ACID to have access to a resource through the specified facility.
TSOLPROC Default procedure used for TSO logon.
CONSOLE Ability to modify control options by ACID.
Additional Information
This section describes the additional information related to the IdentityIQ for TopSecret LDAP Mainframe.
TTLSGroupAction GrpAct_LDAP
{
TTLSEnabled On
Trace 7
}
TTLSEnvironmentAction GrpEnv_LDAP
{
Trace 7
HandshakeRole Server
EnvironmentUserInstance 0
TTLSKeyringParmsRef PrmKeyRing_LDAP
TTLSEnvironmentAdvancedParmsRef PrmEnvAdv_LDAP
}
TTLSEnvironmentAdvancedParms PrmEnvAdv_LDAP
{
TLSv1.1 On
TLSv1.2 On
ClientAuthType PassThru
}
TTLSConnectionAction GrpCon_LDAP
{
HandshakeRole Server
TTLSCipherParmsRef PrmCipher_LDAP
TTLSConnectionAdvancedParmsRef PrmConAdv_LDAP
CtraceClearText Off
Trace 7
}
TTLSConnectionAdvancedParms PrmConAdv_LDAP
{
ApplicationControlled Off
CertificateLabel GLDSRV
SecondaryMap Off
}
TTLSCipherParms PrmCipher_LDAP
{
# supported cipher suites - we used a wide list, that should be decreased according
# to specific needs
V3CipherSuites TLS_DH_DSS_WITH_DES_CBC_SHA
V3CipherSuites TLS_DH_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_NULL_WITH_NULL_NULL
V3CipherSuites TLS_RSA_WITH_NULL_MD5
V3CipherSuites TLS_RSA_WITH_NULL_SHA
V3CipherSuites TLS_RSA_EXPORT_WITH_RC4_40_MD5
V3CipherSuites TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
V3CipherSuites TLS_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_DHE_DSS_WITH_DES_CBC_SHA
V3CipherSuites TLS_DHE_RSA_WITH_DES_CBC_SHA
V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA256
V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA
V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
V3CipherSuites TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
V3CipherSuites TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
}
TTLSKeyringParms PrmKeyRing_LDAP
{
Keyring GLDRING
}
Partitioning Aggregation
IdentityIQ for TopSecret LDAP Mainframe supports Partitioning Aggregation feature to enable faster retrieval of
Top Secret data.
In IdentityIQ for TopSecret LDAP Mainframe, objects can be retrieved by means of a searchDN and searchFilter.
IdentityIQ for TopSecret LDAP Mainframe partition entries are the application configuration searchDNs list with
each entry of the list treated as a single partition.
Typically, the partitions can be defined as the searchDNs list as follows:
<entry key="searchDNs">
<value>
<List>
<Map>
<entry key="iterateSearchFilter" value="(tssacid=a*)"/>
<entry key="searchDN" value="host=SYSB,o=SAILPOINT,c=us"/>
</Map>
<Map>
<entry key="iterateSearchFilter" value="(tssacid=b*)"/>
<entry key="searchDN" value="host=SYSB,o=SAILPOINT,c=us "/>
</Map>
<Map>
Overview
This appendix describes configuration process for integrations with identity management (IDM) systems and the
places in IdentityIQ that use the integrations. It does not describe the details of a specific integration only the
general framework common to all integrations.
<!--
Application representing the IDM system in IIQ
-->
<ApplicationRef>
<Reference class='Application' name='Example Integration'/>
</ApplicationRef>
<!--
Connection parameters needed by the executor.
-->
<Attributes>
<Map>
<entry key='url' value='http://somehost:8080/rest/iiq'/>
<entry key='username' value='jlarson'/>
<!--
Definitions of managed resources and name mappings.
-->
<ManagedResources>
<ManagedResource name='LDAP 42'>
<ApplicationRef>
<Reference class='Application' name='Corporate Directory'/>
</ApplicationRef>
<ResourceAttributes>
<ResourceAttribute name='memberOf' localName='groups'/>
</ResourceAttributes>
</ManagedResource>
</ManagedResources>
The executor attribute has the name of a class that implements the sailpoint.object.IntegrationExecutor
interface. This class is conceptually similar to a Connector class in that it does the work specific to a particular
integration. Each integration package will come with an example IntegrationConfig that contains the executor
class name.
ApplicationRef
Some integrations support identity aggregation. In these cases there is a sailpoint.object.Application object
defined to represent the IDM system and an implementation of the sailpoint.connector.Connector interface that
handles communication with the IDM system. This is normally a multiplexed connector that returns objects
representing the IDM system account as well as accounts on managed resources. Links in the identity cube are
created for the managed resource accounts as well as the IDM system account.
<ApplicationRef>
<Reference class='Application' name='Example Integration'/>
</ApplicationRef>
The documentation of each integration must describe the supported configuration attributes.
The following attribute is reserved and can only be used for the purposes defined here.
• universalManager: enables the integration as a manager of all applications
The universalManager attribute is set to the string true to enable this integration as a manager for all IdentityIQ
applications without a ManagedResources list. This can be helpful in test environments to validate deployment
configuration as well as environments where all provisioning must be fulfilled by a single integration.
ManagedResources
If the integration supports provisioning, it must define a list of managed resources that corresponding to
applications defined in IdentityIQ. This determines how provisioning plans created during certification or role
assignment are divided and sent to each integration.
<!--
Definitions of managed resources and name mappings.
-->
<ManagedResources>
<ManagedResource name='LDAP 42'>
<ApplicationRef>
<Reference class='Application' name='Corporate Directory'/>
</ApplicationRef>
<ResourceAttributes>
<ResourceAttribute name='memberOf' localName='groups'/>
</ResourceAttributes>
</ManagedResource>
</ManagedResource>
Aggregation
Some integrations support feeds of identity information through the normal aggregation process. In these cases
the integration package will have a SailPoint.connector.Connector implementation class and an example
SailPoint.object.Application object in XML.
IDM connectors are usually multiplexed connectors that return objects representing the IDM system account as
well as accounts on all managed resources.
When an aggregation application is defined a reference to it should be placed in the IntegrationConfig. This
enables provisioning operations to obtain the account name in the IDM system that corresponds to an identity
in IdentityIQ.
Provisioning
Provisioning can be performed in several ways.
• After role assignment from the IdentityIQ identity edit page
• After role assignment from the Access Request Manager
• During certification to handle revocations and role completions
• In a background reconciliation task
• During aggregation
All provisioning processes in IdentityIQ are either managed fully by workflows or can launch workflows before
provisioning occurs, which provides the opportunity to insert an approval step before provisioning. The default
workflow for IdentityIQ identity edits is named Identity Update. By default it has no approvals but does attempt
provisioning.
Certifications can do provisioning to remove entitlements and roles that were revoked as well as add missing
entitlements that are necessary to satisfy a role assignment.
A reconciliation task is an instance of the Identity Refresh task template with the provisioning argument set to
true. This argument is visible in the configuration page for the refresh task. Reconciliation compares the assigned
roles with the detected entitlements and automatically provisioning any missing entitlements. Entitlements
might be missing due to either changes in role assignments for an identity, or changes to the definition of roles
already assigned to an identity.
Reconciliation is intended to replace the IdentityIQ Provisioning. The old provisioning page was role oriented,
monitored changes to roles, and sent provisioning requests for users assigned to modified roles. It did not detect
changes to the assigned roles list of identities, however. The reconciliation task is identity oriented and calculates
all changes necessary to make an identity's entitlements match the currently assigned roles.
Since reconciliation is now part of the core set of identity refresh options, it can also be done during aggregation.
This is less common, but aggregation could change account attributes that are used by role assignment rules
resulting in changes to the assigned and detected role lists. With provisioning enabled, the aggregation could
trigger the provisioning of missing entitlements for the assigned roles. A common use case for this would be
aggregating from an application representing a HR system with HR attributes determining assigned business
roles.
Note: Automated provisioning done by the reconciliation task or within workflows typically does not
remove entitlements, it only adds missing entitlements. Removal of unnecessary entitlements
is expected to be done in a certification where a user has more control. While it is possible to
enable removals during automated provisioning, it is potentially dangerous and should not be
done without careful consideration.
The following attribute application map displays the possibility of adding a single jar to Connector
Classloader’s classpath or by adding the directory location which would add all the jars under that to
classpath:
For example, PeopleSoft Direct Connector’s two instances can be created on the same IdentityIQ and both
the instances are connecting to separate target systems.
Assuming that one application instance is connecting to 8.X and another to 7.X, create two separate
directories under the web-inf/lib-connectors directory as follows:
- PPLSFT7.0
- PPLSFT8.0
Add the required set of libraries under the specific directories by adding the configuration to respective
applications classpath as follows:
- For PeopleSoft 7.0
Upgrade considerations
After upgrading IdentityIQ, custom connectors and customization rules can be impacted if connectors are
initiated directly without using Connector Factory.
For example, connector = ConnectorFactory.getConnector(application, null);