Connect to Salesforce (SCIM Connector)

Prerequisites

To connect EmpowerID to Salesforce, you must have a Salesforce tenant with an account that EmpowerID can use to connect to Salesforce and do the following in the tenant:

  • Register a connected app for EmpowerID with a certificate in Salesforce using the OAuth 2.0 JWT bearer authorization flow. Give the app the following OAuth Scopes:

    • Manage user data via APIs (api)

    • Manage user data via Web browsers (web)

    • Perform requests at any time (refresh_token, offline_access)

  • Upload the private key for the certificate to the EmpowerID certificate store.

For directions on setting up a connected app in Salesforce, please see the Salesforce documentation on the subject at https://help.salesforce.com/articleView?id=sf.connected_app_overview.htm&type=5.

Step 1 – Create a Salesforce account store in EmpowerID

  1. On the navbar, expand Admin > Applications and Directories and then select Account Stores and Systems.

  2. On the Account Stores page, select the Actions tab and then click Create Account Store.

     

  3. Under System Types, search for Salesforce Scim.

  4. Click the Salesforce Scim record to select the type and then click Submit.

     

    This opens the Salesforce Settings form, which is where you enter the information needed to connect EmpowerID to the system.

     

  5. Enter the following information in the form fields:

    • Name – Enter a name for the account store

    • Service URL – Enter the URL of the Salesforce environment you are connecting to.

    • API Endpoint – Enter /services/data/v51.0/

    • Certificate Thumbprint – Enter the thumbprint of the certificate you uploaded to Azure for the service principal application created earlier.

    • User Name – Enter the username of the Salesforce service account you created in Salesforce to authenticate to the Salesforce API.

    • Client Secret – Enter the consumer secret generated by Salesforce for the connected app

    • SCIM URL – Enter the URL for the Salesforce SCIM app service created earlier. The base URL should include the version, e.g., https://salesforcescimmicroservice.azurewebsites.net/v1/.

  6. When you have added your settings, click Submit to create the account store.

EmpowerID creates the account store and the associated resource system. The next step is to add the consumer key for the Salesforce app to the Salesforce SCIM connector resource system configuration parameters.

Step 2 – Add the Salesforce app consumer key

  1. Return to the Find Account Stores page and search for the Salesforce SCIM account store you just created.

  2. Click the Account Store link for the account store.

     
    This directs you to the Account Store and Resource System page for the account store. This page contains several tabs related to the account store that you can access to view and manage the account store and resource system.

     

  3. Select the Resource System tab and then expand the Configuration Parameters accordion at the bottom of the page.

  4. Search for the ConsumerKey parameter and click the Edit button for it.

     

  5. Enter the key in the Value field and click Save.

     

  6. Verify the other parameters are correct for your system.

Now that the Configuration Parameters have been updated, the next step is the configure Attribute Flow.

Step 2 – Configure Attribute flow

EmpowerID supports the configuration of attribute synchronization rules for flowing attribute changes between directories and the EmpowerID Identity Warehouse. Attribute Flow rules are visually configured and are always relative to the relationship between an attribute in a directory and the corresponding attribute in the EmpowerID Identity Warehouse. Attribute Flow rules define the specific fields and attributes that are synchronized between the EmpowerID Identity Warehouse person objects and the external user accounts to which they are linked. Additionally, Attribute Flow rules can be weighted by account store. For example, if you have connected EmpowerID to an HR system as well as Active Directory, and you want any changes made to an attribute in the HR system to take priority over changes made in Active Directory or EmpowerID (while allowing changes to be made in any system), you would give a higher score for each CRUD operation originating from the HR account store and correspondingly lower scores for the Active Directory account store.

The following flow rules are available:

  • No Sync – When this option is selected, no information flows between EmpowerID and the native system.

  • Bidirectional Flow  – When this option is selected, changes made within EmpowerID update the native system and vice-versa. For most attributes, this is the default setting.

  • Account Store Changes Only – When this option is selected, changes can only be made in the native system and are then passed to EmpowerID.

  • EmpowerID Changes Only  – When this option is selected, changes can only be made in EmpowerID and are then passed to the native system.

The following CRUD operations are available:

  • Create – This operation is used to create an attribute value for an existing attribute when the value of that attribute is null.

  • Update – This operation is used to update the value of an attribute.

  • Delete – This operation is used to delete the value of an attribute.

  1. On the Account Store and Resource System page for Salesforce, click the Attribute Flow Rules tab to view the current rules for the account store. Please note that the attributes available depend on the account store.

  2. To change the flow for an attribute, click the Attribute Flow drop-down located between the Person Attribute column and the External Directory Attribute column, and select the desired flow direction from the context menu.

  3. To change the score for any of the available CRUD operations (Create, Update and Delete), enter the new score in the appropriate field. By default, scores are weighted evenly, which means that a change to an attribute originating in one connected external directory has the same authority as a change to an attribute occurring in another connected external directory.

EmpowerID only considers scores for attribute CRUD operations when multiple account stores with the same user records are connected to EmpowerID, such as would be the case if an HR System and this account store were being inventoried by EmpowerID.

Now that the attribute flow has been set, the next steps include configuring the account store and enabling EmpowerID to inventory it.

Step 3 – Configure account store settings

  1. On the Account Store and Resource System page for Salesforce, click the Account Store tab and then click the pencil icon to put the account store in edit mode.

     

    This opens the edit page for the account store. This page allows you to specify the account proxy used to connect EmpowerID to your Salesforce account as well as how you want EmpowerID to handle the user information it discovers in Salesforce during inventory. Settings that can be edited are described in the below table.

  2. Edit the account store as needed and then click Save to save your changes.

Next, enable the Account Inbox permanent workflow to allow the Account Inbox to provision or join the user accounts in Box to EmpowerID Persons as demonstrated below.

Step 4 – Enable the Account Inbox Permanent Workflow

Step 5 – Monitor Inventory

IN THIS ARTICLE