Salesforce: Imprivata Web SSO Setup with SAML 2.0

Configuring Imprivata Web SSO establishes trust between Imprivata as the Identity Provider (IdP) and Salesforce as the Service Provider (SP).

Imprivata: View and Copy IdP Metadata

  1. In the Imprivata Admin Console, go to the gear icon > Web app login configuration
  2. Click View and copy Imprivata (IdP) SAML metadata.
  3. Copy and save the Entity ID.
  4. Copy and save the SSO post and SSO redirect URLs.
  5. Copy and save the SLO post and SSO redirect URLs.
  6. Download the Imprivata IdP certificate.

Create My Domain in Salesforce

Add a custom domain name to your Salesforce URL. Having a custom domain is more secure, so some Salesforce features require it:

  1. In Salesforce, go to AdministerDomain ManagementMy Domain

  2. Select a domain name within Salesforce.com

  3. Save your changes. Salesforce will email you after the domain is registered and ready for testing.

  4. After the domain is registered and successfully tested, log into your administrator account from the new domain URL.

Add Imprivata IdP to Salesforce

Imprivata and Salesforce need metadata from each other. Open both consoles at the same time and import this metadata as follows:

  1. In Salesforce, go to SetupAdministerSecurity ControlsSingle Sign-On Settings.

  2. In the SAML Single Sign-On Settings pane, select New from Metadata File

  3. Click Create.

  4. Edit the Name field: Give this connection a descriptive name.

  5. Reconcile your settings against this table to ensure your settings are complete:

    Setting Required? Expected value
    Issuer for SAML (IdP ID) Required The Entity ID URL
    SP points to correct IdP login URL Required

    The SSO post and SSO redirect URLs

    SP uses proper SAML binding Required HTTP POST or HTTP Redirect
    SP has proper certificate from Imprivata IdP Required The Imprivata IdP certificate
    NameID format configuration If exposed

    Imprivata IdP supports:

    • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
    • urn:oasis:names:tc:SAML:2.0:nameid-format:transient
    • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
    • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
    • urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
    Signature algorithm If exposed SHA-256 by default. SHA-1 or SHA-512 also supported.
    AuthnContextClassRef If exposed urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    Service Provider points to correct IdP single log out URL Optional; required for Single Log Out

    The SLO post and SSO redirect URLs

  6. In the section Federated Single Sign-On Using SAML, select SAML Enabled.

  7. Click Save.

  8. Return to AdministerDomain ManagementMy Domain

  9. In the Authentication Configuration section, click Edit.

  10. In the Authentication Service section, select the connection you created and named above.

  11. Click Save.

Download Salesforce Metadata

  1. In Salesforce, go to Setup > Identity > Single Sign-On Settings.

  2. Select the required SAML profile, and click Download Metadata.

    You will upload this file in the section below.

Add Salesforce as SAML Application

Only the superadmin role is able to configure Web SSO application profiles:

  1. In the Imprivata Admin Console, go to Applications > Single sign-on application profiles.

    All Single sign-on application profiles, including conventional Imprivata APG profiles, Mobile app profiles, and SAML application profiles, are all managed from this page.

  2. Click Add App Profile Web application using SAML. The Add web application using SAML page opens.

  3. Give the application profile a name. This name is visible only to administrators.

    Give the application a user-friendly name. This is the name your users will see when they log in.

  4. Click Get SAML metadata.

  5. Select From XML file and upload the Salesforce metadata you downloaded earlier.

  6. Click OK.

  7. Click Save SAML application.

NOTE:

The IdP certificate for your Imprivata enterprise expires two years after it is enabled. You will receive an alert on the Imprivata Admin Console beginning 60 days before it expires. When the Service Provider or Relying Party certificate is expiring for a web app enabled for Web SSO, you will receive an alert 90 days in advance.

User Management

Consider how your SP manages its users: To successfully authenticate, the user information managed by your SP (SAML NameID, username, password, and so on) and the user data synchronized by Imprivata (the IdP) from your Active Directory (AD) must match. In the Imprivata Needs section, set the NameID format preference and User Attributes as needed:

  • AD Sync — If your SP syncs its user data with the same AD users and groups as your Imprivata IdP, then no special configuration should be needed.
  • Create Users Manually in SP — If your SP admin creates user accounts manually, they must use the same NameID format (for example User Principal Name (UPN), email address, and sAMAccountName), so the Imprivata IdP can successfully match them.
  • Automatic Account Provisioning — When the SP automatically creates an account as the user logs in for the first time. This functionality is supported in Imprivata Web SSO.

Available Attributes

  • Email address (mail)

  • First name (givenName)

  • Last name (surname)

  • Static value:

  • User domain

  • User logon name (userPrincipalName)

  • User logon name - Pre W2K (sAMAccountName)

  • User security identifier (objectSID)

  • User unique ID (objectGUID)

  • User unique ID (UUID)

IT Pilot — Deploy to Select Users

Imprivata Web SSO application profiles offer flexible deployment options.

Deploy your profile to select users for testing:

  1. In the Imprivata Admin Console, go to ApplicationsSingle sign-on application profiles, find your App Profile, and click Not Deployed.

  2. Click Deploy This Application?

  3. Un-check Deploy to All Users and Groups.

  4. Check the domain your test users are located in.

  5. Check These OUs, groups and users

  6. Specify your test users.

  7. Click Save.

  8. On the list of application profiles, check the box next to the profile and click Deploy.

Deploy To Users and Groups

Imprivata Web SSO application profiles offer flexible deployment options.

Deploy your profile to specific OUs, users, and groups as needed:

  1. In the Imprivata Admin Console, go to ApplicationsSingle sign-on application profiles, find your App Profile, and click Not Deployed or Not Deployed.
  2. Check Deploy This Application.
  3. You can Deploy to All Users and Groups, or uncheck this option and deploy to select OUs, users, and groups.
  4. Check the domain your users are located in.
  5. Select For All Users (in this domain) or check These OUs, groups and users
  6. Select specific OUs, groups, and users as needed.
  7. Click Save.
  8. On the list of application profiles, check the box next to the profile and click Deploy.

For complete details, see Deploying Application Profiles.

NOTE:

All Imprivata users synced to the same domain in Active Directory as the Service Provider or Relying Party users, who are licensed for Single Sign On with Imprivata, will immediately be able to log into the Web SSO app using their username and password authenticated by Imprivata Web SSO.

When the workstation has the Imprivata agent online and the user is already logged into the workstation, the user will not be prompted for their credentials.

For complete Web SSO workflow details, see Expected Endpoint Workflows.

Expected Endpoint Workflows

The expected Imprivata Web SSO workflow has the following variations:

Imprivata Agent Online

  1. The user logs into desktop with Imprivata Enterprise Access Management.

  2. The user provides the URL for an app enabled for Imprivata Web SSO.

  3. The app opens. The user does not need to log into it manually.

    Subsequent apps are automatically authenticated within the same browser and the same session.

    If the user closes an app without logging out of the app, he can return to the app during the same session without logging in again.

Imprivata Agent Not Present or Unavailable

  1. The user provides the URL for an app enabled for Imprivata Web SSO.

  2. The user is prompted to log in:

    • If the enterprise does not have an Imprivata Enterprise Access Management Remote Access license, he will be prompted to authenticate with username and password.
    • If the user is included in a user policy associated with the MFA Remote Access Log In workflow, he will be prompted to complete the Log In workflow.
    • If the user is not included in a user policy associated with the MFA Remote Access Log In workflow, he will be prompted to authenticate with username and password.
  3. The app opens.

    Subsequent apps are automatically authenticated within the same browser and the same session.

    If the user closes an app without logging out of the app, he can return to the app during the same session without logging in again.

Imprivata Web SSO on an Unsupported Browser

The expected Imprivata Web SSO workflow on an unsupported browser is the same as when the Imprivata agent is not present or unavailable:

  1. The user provides the URL for an app enabled for Imprivata Web SSO.

  2. The user is prompted to log in:

    • If the enterprise does not have an Imprivata Enterprise Access Management Remote Access license, he will be prompted to authenticate with username and password.
    • If the user is included in a user policy associated with the MFA Remote Access Log In workflow, he will be prompted to complete the Log In workflow.
    • If the user is not included in a user policy associated with the MFA Remote Access Log In workflow, he will be prompted to authenticate with username and password.
  3. The app opens.

    Subsequent apps are automatically authenticated within the same browser and the same session.

    If the user closes an app without logging out of the app, he can return to the app during the same session without logging in again.

For complete details on supported browsers, see Imprivata Enterprise Access Management Supported Components

When Another User Logs In

When a subsequent user logs into a workstation, the Imprivata agent terminates the IdP session of the previous user.

Imprivata Web SSO cannot terminate user sessions:

  • In browsers other than Microsoft Edge or Google Chrome;
  • On workstations where the Imprivata agent is not present or unavailable;
  • For applications not enabled for Imprivata Web SSO;
  • For SAML applications that track the SP session with a persistent cookie.
CAUTION:

In an Imprivata environment where applications are federated with Imprivata Web SSO IdP, all users need to be licensed for Imprivata Web SSO. As soon as the integration between Imprivata and the web application is completed, users not licensed for Imprivata Web SSO won’t be able to access the application. Imprivata does not support manual password authentication in this environment.

BEST PRACTICE:

Implement Single Log Out for your Web SSO-enabled applications (where supported);

Turn off persistent cookies for Relying Parties; this prevents a user from accessing another user's session after a Fast User Switch.

Manually log out of applications where Imprivata Web SSO cannot terminate the user session;

Close browser windows.

Optional — Web Login Customization

Configure the appearance of the web login application screens with the logo and color of your enterprise, and set a custom session log out value:

  1. In the Imprivata Admin Console, go to the gear iconWeb app login configuration

    • Select a background color for the login screen (hexidecimal value);
    • Upload a PNG, GIF, or JPG logo (200 x 150 pixels, 250 KB max)
  2. User sessions are logged out after 2 hours by default. Turn off this automatic logout, or select a value between 30 minutes and 4 days.
  3. Click Save.

Optional — Specify The Returned Attribute

When required by the SP, you can specify the returned attribute the IdP sends to the SP when the SP NameID format preference is unspecified.

In the Service Provider (SP) metadata section, when the NameID format preference field is set to Unspecified,

you can set the Returned Attribute field to:

  • Email address (mail)
  • User logon name (userPrincipalName)
  • User logon name - Pre W2K (sAMAccountName)
  • User security identifier (objectSID)
  • User unique ID (UUID)

Troubleshooting

Verify proper integration of Imprivata Web SSO (IdP) with the Relying Party (RP).

  • Imprivata IdP configuration (accessed through Imprivata Admin Console);

  • Relying Party SSO configuration (Relying Party administration)

  • Endpoint (device from which the user accesses the Relying Party application).

Replacing Expiring Certificates

NOTE:

The IdP certificate for your Imprivata enterprise expires two years after it is enabled. You will receive an alert on the Imprivata Admin Console beginning 60 days before it expires. When the Service Provider or Relying Party certificate is expiring for a web app enabled for Web SSO, you will receive an alert 90 days in advance.