Configure PingOne for SSO in your Code42 cloud environment

Overview

This tutorial explains how to configure your Code42 cloud environment to use single sign-on (SSO) with PingOne. 

This article assumes you are already familiar with SSO and the SAML standard. For more information about how the Code42 platform implements SSO, see our Introduction to single sign-on.

Compatible Code42 platform components

The following Code42 components are compatible with SSO:

  • Code42 agents for Windows, Mac, and Linux
  • Code42 console

Considerations

Before you begin

Verify identity provider configuration
  • Make sure the SSL certificate of your SSO identity provider has been signed by a trusted Certificate Authority (CA).
  • Make sure you have administrative access to the identity provider or have contact with an identity provider administrator.
Verify network configuration
  • Configure your private network, Internet, and VPN settings to allow client devices to communicate with your identity provider on port 443. Test client connectivity to the identity provider before you proceed.
  • If you want to use URL-based metadata exchange to configure Code42 and the identity provider to work together, make sure two-way communication is available between them on TCP port 443. If two-way communication is not available or not allowed, you must download the identity provider's metadata file and make it accessible to Code42.
  • Confirm the required ports with your identity provider to determine if custom ports are being used.

Determine whether you need to configure multiple Code42 tenants

Before you begin configuring SSO for Code42, consider whether your company has more than one Code42 tenant that you need to connect to your SSO identity provider. Large companies and organizations often have separate, dedicated Code42 cloud instances (or "tenants") in use by different groups or departments. 

If you have more than one Code42 tenant to connect to your SSO identity provider, you need to obtain an entity ID URL for each Code42 tenant. An entity ID is a unique string that identifies a specific tenant to your SSO identity provider. The tenant-specific entity ID URL is composed of the Code42 domain followed by the tenant ID, and can be found in the Code42 service provider metadata URL file in each tenant. For example:

"entityId": "https://example.com/42424daa-424c-4e42-42c4-c424242420d4" 

Step 1: Determine the URLs for your Code42 environment

When you configure an identity provider to connect to Code42, typically you must provide the Code42 server login URL, entity ID, and Assertion Consumer Service (ACS) URL. To obtain these values: 

  1. Sign in to the Code42 console.
  2. Navigate to Administration > Integrations > Identity Management.
  3. Locate the Code42 service provider metadata URL:
    • When setting up an authentication provider for the first time, the URL appears on the main screen:
      code42_service_provider_metadata_url.png
    • If you previously set up an authentication provider, the URL appears in the authentication provider details:
      Code42_service_provider_metadata_URL_on_details_screen.png
       
  4. The first portion of the URL is your Code42 server URL, for example, https://example.com. Record this URL for use later.
    To determine the login URL, add /login to the end. For example, https://example.com/login.
  5. Copy the Code42 service provider metadata URL and paste it in the address bar of a new browser window. 
    Your Code42 environment's metadata details appear. 
  6. Find the entityID. Record this URL for use later.
    obtain_entity_id_with_tenant_id_final.png
  7. Find the AssertionConsumerService and its Location URL value, for example, Location="https://example.com/api/SsoAuthLoginResponse". Record this URL for use later.
    ACS_URL_new.png

Step 2: Prepare PingOne

Use the PingOne administration console to add the Code42 application and download the PingOne metadata file. For more information about configuring PingOne, see the Ping Identity documentation.

  1. Sign in to the PingOne cloud dashboard.
  2. Navigate to Applications > Application Catalog.
  3. Search for Code42.
  4. Select the Code42 application whose Type is SAML with Provisioning (API)
    An older Code42 application whose Type is simply SAML was formerly used for SSO configuration only. Use the newer application for both SSO and provisioning.
  5. Click Setup.
    The configuration screen appears. 
  6. Click Edit at the bottom of the configuration screen.
    Retain the default configuration values unless otherwise specified below.
  7. In SSO Instructions, click the Continue to Next Step button at the bottom of the page.
  8. In Connection Configuration, perform the following steps.
    1. In the provided connection fields, replace ${yourserver} with the domain name of your Code42 server. The resulting values should match the URLs you obtained in Step 1. For example: 
      • ACS URL: https://example.com/api/SsoAuthLoginResponse 
      • Entity ID: https://example.com 
      • Target Resource: https://example.com/login 
    2. Ensure that the Set Up Provisioning box is unselected. (This article describes only how to set up SSO. To set up provisioning, see How to provision users to Code42 from PingOne.)
      Leave the rest of the settings on the page unchanged. 
    3. Click Continue to Next Step.
  9. In Provisioning Instructions, review the provided directions and click Continue to Next Step.
  10. In Attribute Mapping, map attributes from PingOne to Code42. Click Continue to Next Step when you finish.
    Following are suggested values. Change the mapping as needed for your situation.
    Application Attribute Identity Bridge Attribute or Literal Value
    uid Email
    mail Email
    givenName First Name
    sn Last Name
     
  11. In PingOne App Customization, customize your app display as desired and click Continue to Next Step.
  12. In Group Access, select the groups that have access to the Code42 application.
    Users added to these groups have SSO provided by PingOne in Code42. 
    1. Click Add by the groups to have access. 
    2. Click Continue to Next Step.
  13. In Review Setup, ensure the settings are correct.
    1. Download the SAML Metadata. You will use this metadata XML file to connect to your Code42 environment in subsequent steps.
    2. If you need to change any settings, click Back at the bottom of the page.
    3. After you are done reviewing settings and are sure they are correct, click Finish.
      After configuration is complete, the Code42 application appears on the My Applications tab with its status shown as Active.
      PingOne_active_application.png

Step 3: Add PingOne as an authentication provider

  1. Sign in to the Code42 console.

  2. Navigate to Administration > Integrations > Identity Management.
    CloudSSO-identity-mgmt-authentican-provider-new_no_nav.png

  3. Click Add Authentication Provider.
  4. In Display name, enter an identity provider name to display to users that sign in with SSO.
    If your Code42 environment provides more than one SSO identity provider, users see a list of providers to choose from. They must select the provider configured for their Code42 organization.
  5. In Provider's Metadata, click Upload XML File and select the metadata XML file for upload.
    Custom domains are not supported
    When entering the URL for the XML metadata file, custom domains are not supported. You must use the standard domain of your identity provider. 
  6. Click Create Provider.
    Authentication provider settings appear.
Provider information message

Note the following message on the dialog:
This provider will not be applied to an organization until you update the organization security settings.

Do not apply this authentication provider to organizations yet. You will apply this provider to a test organization and to production organizations in later steps.
  1. If you choose not to use the default mapping, you can use Attribute Mapping to customize mappings between Code42 platform user attributes and authentication provider SSO assertion attributes.
    1. Click the Edit icon. 
    2. Deselect Use default mapping.
    3. Configure mapping settings for each Code42 platform user attribute.
      Each field supports up to 128 characters. 
      • Username: Specify the identity provider's name ID or attribute that maps to the Code42 username.
        • Select Use nameid to use the identity provider's name ID.
        • Select Use attribute tag to enter a custom identity provider attribute.
      • Email (Use nameid only): Enter the identity provider attribute that contains user email addresses.
      • First Name: Enter the identity provider attribute that contains user first names.
      • Last Name: Enter the identity provider attribute that contains user last names.
    4. Click Save.
  2. Local Users displays the current user. If there are any other users you want to exempt from using this authentication provider to log in, enter them here.

Step 4: Add the Code42 service provider metadata URL to PingOne

  1. Obtain the Code42 service provider meta URL:
    1. Sign in to the Code42 console.
    2. Navigate to Administration > Integrations > Identity Management > Authentication.
    3. Select the authentication provider you set up for PingOne. 
    4. Copy the value of the Code42 Service Provider Metadata URL.
  2. Paste the URL into your PingOne application:
    1. Sign in to the PingOne cloud dashboard.
    2. Select Applications > Application Catalog.
    3. Select your Code42 application and click Edit.
    4. Click Continue to next step until you reach the Configure your connection page.
    5. In the Upload Metadata field, click Or use URL and paste the Code42 service provider metadata URL.
    6. Click Continue to next step, then Save & Publish.

Step 5: Test SSO authentication

This step requires you to create a test user in PingOne

To avoid impacting your production environment, use a test organization to verify that SSO is working properly. 

  1. Create a test user in your identity provider. 
  2. Sign in to the Code42 console
  3. Create a test organization.
  4. Create a user in the test organization who matches the identity provider test user. 
  5. Configure the test organization to use SSO:
    1. Navigate to Administration > Integrations > Identity Management.
    2. Select the authentication provider.
    3. Click Edit Edit icon next to Organizations in use.
    4. Select the test organization. 
      Note that you can also use an organization's settings to select an authentication provider to use for SSO.
    5. Click Save.
  6. In the upper-right of the Code42 console, select Account Account_top_nav.png > Sign Out
  7. Sign back in to the Code42 console as the test user to verify that SSO is working. 

Step 6: Apply this provider to production organizations

  1. Sign in to the Code42 console
  2. Navigate to Administration > Integrations > Identity Management.
  3. Select the authentication provider.
  4. Click Edit 7.0_console_edit_icon.png next to Organizations in use.
  5. Select organizations to use the authtenication provider for SSO. 
    If applicable, select the Inherits settings to identify whether an organization inherits the setting from its parent organization. To enable SSO for all organizations, select the top-most organization. (Note that you can also use an organization's settings to select an authentication provider to use for SSO.)
  6. Click Save.

Step 7: Add new users who sign in with SSO

  1. In the PingOne dashboard, add new users for whom you want to enable login to Code42. See PingOne's documentation for information about adding users.
  2. Ensure the same users are set up in Code42. You can add users manually with the Code42 console to an organization that uses SSO, or deploy Code42 agents to users in an organization that uses SSO.

What to expect

Reduced authentication prompts

When users sign in with SSO, they do not need to re-enter credentials for subsequent authentication attempts until the SAML authentication token expires. A SAML token applies to an application rather than a device, which means that a user might need to enter credentials again when signing into a different app. 

For example, the single sign-in process differs whether users sign in to the Code42 console or Code42 agents:

  • Code42 console: When users sign in to the Code42 console, they are redirected in the web browser to sign in to their SSO identity provider. As soon as they sign in to their identity provider, the Code42 console launches. 
  • Code42 backup agent: When users sign in to Code42 agents, the following message appears: "To complete the sign in process, go to your web browser. This screen updates automatically once login is successful." A web browser window is automatically opened so they can complete the sign-in process in their SSO identity provider.  As soon as they sign in to their SSO identity provider in the provided web browser window, the Code42 agent launches.

Losing access to an identity provider

Backup agent only

If a user loses access to the identity provider, Code42 agents continue to back up, uninterrupted.

External resources