Integrating with SAP SuccessFactors
Integrating your Software Asset Management application with the SAP SuccessFactors application enables you to track your software subscriptions and to reclaim unused licenses.
Important:
You must request and install the following applications from ServiceNow Store:
- SaaS License Management
- SuccessFactors Spoke
Software Asset Management integration with SuccessFactors
If your installed SAP SuccessFactors spoke version is 3.1.5 or lower, follow these steps:
- If your installed SAP SuccessFactors spoke version is 4.0.0 or higher, follow these steps:
- Register OAuth application in SuccessFactors
- Upload the JKS certificate in your ServiceNow instance
- Register SuccessFactors as an OAuth provider
- Create the SAML2 assertion producer record
- Create credential record for the OData API
- Create connection record for the OData API
- Create an SAP SuccessFactors integration profile
Important: Minimize security risks and protect information by granting access only to the necessary user or API permissions.
| Process | Required user role in the SAP SuccessFactors application | Authentication scopes |
|---|---|---|
| Download subscriptions | admin | None |
| Pull user activity | admin | None |
| Reclaim subscription | admin | None |
Set up basic authentication for SAP SuccessFactors
Set up basic authentication to enable access to the SAP SuccessFactors API.
Before you begin
SAP SuccessFactors Role required: admin
Procedure
Log in to the SAP SuccessFactors instance using your admin credentials.
On the page header of your instance, select Home > Admin Center.
Create a group to assign API access permissions to.
Tip: Include only non-admin users in this group, as admin users automatically have access to the SuccessFactors API.
In the Tool Search field of the Admin Center, search for and select Manage Permission Groups.
On the Permission Group dialog box, enter a name for the permission group in the Group Name field.
In the Choose Group Members section, specify the users or user groups that you want to include in this permission group by adding them to a People Pool.
People Pools allow you to specify the sets of users or user groups that you want to include or exclude for a permission group. You can either include all users and user groups in a single People Pool or group them into different People Pools. For example, you can create different People Pools for each department or office location within your organization.
To add users or user groups to a People Pool, select an identification category, such as Username, and then enter each user or user group in the corresponding text box. Each entry must be separated by a comma.
You can apply multiple identification categories to a single People Pool by clicking Add another category. You can also add additional People Pools by clicking Add another People Pool.
In the Exclude these people from the group section, specify the users or user groups that you want to exclude from this permission group by adding them to a People Pool.
To add users or user groups to a People Pool, select an identification category, such as Username, and then enter each user or user group in the corresponding text box. Each entry must be separated by a comma.
You can apply multiple identification categories to a single People Pool by clicking Add another category. You can also add additional People Pools by clicking Add another People Pool.
Select Done.
Configure API access permissions for your group.
In the Tool Search field of the Admin Center, search for and select Manage Permission Roles.
Select Create New.
On the Permission Role Detail form, enter a name for the permission role in the Role Name field.
Enter a description for the permission role in the Description field.
Under Permission settings, select Permission....
In the Permission settings dialog box, select Manage Integration Tools from the left navigation pane.
Select the Allow Admin to Access OData API through Basic Authentication check box.
Select Employee Central API from the left navigation pane.
Select the Employee Central HRIS OData API (editable) check box.
Select Done.
The dialog box closes and you return to the Permission Role Detail form.
Under the Grant this role to... tab, select Add... to search for and select the permission groups that you created in step 4.
Adding this permission group allows the associated users and user groups to access the APIs that are enabled in this permission role.
Select Save Changes.
Create an SAP SuccessFactors connection
Create a connection between your SAP SuccessFactors OData API and your ServiceNow instance.
Before you begin
ServiceNow Role required: sam_integrator
Procedure
From your ServiceNow instance, navigate to Process Automation > Flow Designer.
The Flow Designer launches in a new tab.
Select the Connections tab.
Select View Details for your SuccessFactors_OData connection.
From the list of available connections, search for and select SuccessFactors_OData.
Select Configure.
In the Configure Connection dialog box, fill in the fields.
Field Description Connection Name Name of the SuccessFactors_OData connection. Connection URL OData API URL of your SAP SuccessFactors instance. User name Username for your SAP SuccessFactors admin account. Enter the same username that you used to log in to your SAP SuccessFactors instance in Set up basic authentication for SAP SuccessFactors. Password Password for your SAP SuccessFactors admin account. Enter the same password that you used to log in to your SAP SuccessFactors instance in Set up basic authentication for SAP SuccessFactors. Select Configure Connection.
Register OAuth application in SuccessFactors
Enable client certificate authentication for the outbound communication from SAP Master Data service by generating the keystore.jks and keystore.cer files.
Before you begin
Role required: admin
Procedure
Create a JKS certificate by using any one of the following methods:
- Follow the steps in the Creating Java Keystore(JKS) with Private Key and Certificate Chain topic SAP Help Portal.
Install Java JDK 8 and Open SSL and execute the following commands in the Terminal:
openssl genrsa -out private.key 2048The
private.keyfile is generated.openssl rsa -in private.key -pubout -out public.keyExtract the public key from key pair type.
openssl req -new -x509 -key private.key -out publickey.cer -days 365Enter details of the Distinguished Name (DN). The
publickey.cerfile is generated.openssl pkcs12 -export -in publickey.cer -inkey private.key -out successfactors.p12 -name "successfactors"You’re prompted for a password. The
successfactors.p12file is generated using the private and public key created in step a and step b.keytool -importkeystore -srckeystore successfactors.p12 -srcstoretype pkcs12 -destkeystore successfactors.jksYou’re prompted for the destination and source file password. The
successfactors.jksfile is created using thesuccessfactors.p12file created in step c.
Note: Confirm that you enter the same passwords in steps c and d. For example, if you enter the password as
123456in step c, you must enter123456as password in step d too.
Log in to the SuccessFactors account as an admin.
Navigate to Admin Centre and select Company Settings.
Select Manage OAuth2 Client Applications.
Select Register Client Application.
Managing OAuth2 client applications
In the X.509 Certificate field, provide the contents of the
publickey.cerfile (public key) without the headers.Select Submit.
Result
The API Key is generated and displayed.
What to do next
Copy the API key generated and record the value for later use.
Upload the JKS certificate in your ServiceNow instance
Enable client certificate authentication for the outbound communication by uploading the JKS certificate in your ServiceNow instance.
Before you begin
Role required: admin
Procedure
Log in to your ServiceNow instance as an admin.
Upload the JKS certificate to your ServiceNow instance.
For instructions to upload the JKS certificate, see Upload a certificate to an instance.
Uploading certificate to an instance
Register SuccessFactors as an OAuth provider
Use the API key generated during the client application configuration to register the application as an OAuth provider.
Before you begin
Change the application scope to SuccessFactors spoke.
Role required: admin
Procedure
In your ServiceNow instance, navigate to System OAuth > Application Registry.
Select New.
In the form, fill in these fields.
| Field | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Unique name to identify the certificate. For example, `SuccessFactors SAML`. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Client ID | Value of the API key you had copied after registering the OAuth client application in SuccessFactors. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Client Secret | Note: Client secret isn’t needed to register the application as an OAuth provider. You can provide any value for this field. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Default Grant Type | Default grant type used to establish the token. Select SAML2 Bearer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Token URL | SuccessFactors OAuth server endpoint URL that includes the Company ID in this format: `https:// Image omitted: app-registry-sf.png Application Registries form
Create the SAML2 assertion producer recordCreate a SAML2 assertion record to generate the SAML2 assertion and exchange the assertion for the access tokens with the provider. Before you beginChange the application scope to SuccessFactors spoke. Role required: admin Procedure
Image omitted: saml-assert-prov.png SAML2 Assertion Producer Image omitted: saml-assert-keystore.png SAML2 Assertion Keystore. Image omitted: saml2-assertion-att.png SAML2 Assertion Attribute.
Image omitted: oauth-ent-profile-sf.png Defining OAuth scoped for this profile Create credential record for the OData APICreate a connection record for the OData API in SuccessFactors. The SuccessFactors spoke connection and credential alias uses these connections to perform actions in SuccessFactors. Before you beginRole required: admin Procedure
Image omitted: saml-sf-odata-cred.png OAuth 2.0 credentials
ResultThe credential record to authorize actions using the OData API is created. Create connection record for the OData APICreate a connection record for the OData API in SuccessFactors. The SuccessFactors spoke connection and credential alias uses these connections to perform actions in SuccessFactors. Before you beginRole required: admin Procedure
ResultThe connection record for the OData API in SuccessFactors is created. Create an SAP SuccessFactors integration profileCreate an SAP SuccessFactors integration profile to track software subscriptions and optimize licensing for your SAP SuccessFactors applications. Before you beginThe Software Asset Management - SaaS License Management plugin (sn_sam_saas_int) must be installed from the ServiceNow Store. Change the application scope to Global. ServiceNow Role required: sam_integrator Important: You must select the Software Asset Management integration with SuccessFactors check box for this integration while installing optional features on the Application Manager page. For more information about choosing the required SaaS applications, see Request SaaS License Management. About this taskIf you’re using Software Asset Workspace, the option to create the SuccessFactors integration profile in Core UI is inactive. Procedure
Image omitted: manage-attachments-icon.png Manage attachments icon.\).
What to do nextAfter the integration connects, your ServiceNow instance automatically creates software models, reclamation rules, and software subscriptions that are refreshed daily. After creating an integration profile, view information about the profile in the Software Asset Workspace by navigating to License operations > User subscription > Direct integration profiles. You can select an integration profile to view the following related lists. If all of the following related lists aren't visible for an integration profile in the default view, you can select the custom integration view from the Details tab:
After creating an integration profile, you can define subscription exclusion rules to keep certain subscriptions from license cost calculations. For more information, see Subscription exclusions for SaaS and SSO applications. If you want to set up multiple integration profiles with unique connections, create child aliases to manage different configurations and settings for each integration profile. For more information, see Create a child alias to set up multiple integration profiles. Important: Child aliases and alias overrides aren't supported for the SuccessFactors Update User Activity subflow because this subflow doesn't use REST steps directly where aliases are required. Review all automatically generated reclamation rules to reclaim user subscriptions. For more information, see Review a software reclamation rule. Create software entitlements for the automatically generated software models to track used software against owned software.
Reconciliation also runs on your subscriptions as a scheduled job or on-demand. You can view your reconciliation results in the License Workbench (Software Asset Management classic application) or the License usage view (Software Asset Workspace). Use these results to determine your license compliance position and to remediate any non-compliance.
|