Skip to main content

This article applies to Cloud.

Other available versions:

Version 6 | Version 5 | Version 4icon.qnmark.png

Available in:

StandardPremiumEnterprise
Small Business
Code42 Support

Configure Shibboleth for SSO in your Code42 environment

This article applies to Cloud.

Other available versions:

Version 6 | Version 5 | Version 4icon.qnmark.png

Available in:

StandardPremiumEnterprise
Small Business

Overview

This tutorial explains how to configure your Code42 cloud environment to use single sign-on (SSO) with Shibboleth. If you have an on-premises authority server, see the instructions for configuring Shibboleth

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

Compatible with SSO
  • Code42 app for Windows, Mac, and Linux
  • Administration console
Incompatible with SSO
  • Code42 apps for iOS, Android, and Windows Phone

Considerations

  • Code42 usernames must match SSO usernames. How you accomplish this depends on how you deploy Code42 apps.
  • Users cannot sign in to your Code42 environment from an identity provider's website or application. The administration console supports service provider-initiated SSO but does not support identity provider-initiated SSO.
  • SSO provides user authentication but does not provide user management. Set up SCIM provisioning or use the Code42 administration console to manage users. 
External authentication systems
Our Customer Champions can help with authentication issues caused by interaction with Code42 products. However, troubleshooting authentication issues outside your Code42 environment is beyond the scope of our Customer Champions. For assistance with external authentication systems, contact your authentication vendor.

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 ports 80 and 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 ports 80 and 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.

Step 1: Add an authentication provider

Follow the steps below for adding the authentication provider's metadata URL to the administration console. If your organization is part of the InCommon federation, you can add the InCommon metadata, and select your organization's metadata URL from the list. Follow the steps under Shibboleth if you are not part of the InCommon federation. 

InCommon

Shibboleth

Step 2: Prepare Shibboleth

There are two ways to exchange metadata between your Code42 environment and the Shibboleth identity provider:

  • If two-way communication is possible between Shibboleth and your {{c42cloud}} instance, use URL-based metadata exchange. This method periodically retrieves metadata from a given URL and stores the metadata file locally, so it can be used if the remote source is unavailable. 
  • If two-way communication is not available, use file-based metadata exchange.

For more information about adding a service provider to Shibboleth, see the Shibboleth documentation.

Shibboleth option A: URL-based metadata exchange

Shibboleth option B: File-based metadata exchange

Configure your Shibboleth identity provider to sign assertions

The Code42 administration console expects assertions to be signed. See Shibboleth's documentation for more information. 

  1. Edit the file ${Shibboleth}/conf/relying-party.xml. 
  2. Add or modify the ProfileConfiguration element, for example: 
<RelyingParty id="urn:example.org" provider="http://idp.example.org" defaultSigningCredentialRef="ExampleOrgCred">
    <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" signAssertions="always"/>
</RelyingParty>
  1. Set the signAssertions attribute to always.

Step 4: Test SSO authentication

  1. Create a test user in your identity provider. 
  2. Sign in to the administration console.
  3. Create a test organization.
  4. Configure the test organization to use SSO.
    1. Navigate to Organizations, then select the organization.
    2. From the action menu in the upper-right, select Edit.
    3. Click Security.
      Security tab
    4. Deselect Inherit security settings from parent.
    5. From Select an authentication method, choose SSO.
      The configured SSO identity providers appear.
    6. Select the identity providers that you want to offer for the organization.
    7. From Select a directory service, select Local.
    8. Click Save.
  5. Create a user in the test organization who matches the identity provider test user.
  6. In the upper-right of the administration console, select Account > Sign Out.
  7. Sign back in to the administration console as the test user to verify that SSO is working.

Step 5: Configure organizations to use SSO

Enable SSO for one or more organizations in your Code42 environment. If two or more authentication providers are offered in your Code42 environment, tell the users in each organization which authentication provider they should choose when they sign in.

Option A: Enable SSO for a specific organization

  1. Sign in to the administration console.
  2. Navigate to Organizations, then select the organization.
  3. From the action menu, select Edit.
  4. Click Security.
    Security tab
  5. Deselect Inherit security settings from parent.
    Disabled inheritance
    If you disable inheritance for an organization, that organization is not affected by changes to its parent organization.
  6. From Select an authentication method, choose SSO.
    The configured authentication providers appear.
  7. Select the identity providers that you want to offer for the organization.
  8. From Select a directory service, select Local.
  9. Click Save.

Option B: Enable SSO for all organizations

Modify the system-wide organization settings to enable SSO for all organizations.

  1. Sign in to the administration console.
  2. Go to Organizations > Active.
    Parent organization hierarchy
  3. Click on the top-level organization.
    The organization details appear.
  4. From the action menu, select Edit.
  5. Click Security.
    Apply provider to parent organization
  6. From Select an authentication method, choose SSO.
    The configured authentication providers appear.
  7. Select the identity providers that you want to offer to your organizations.
  8. From Select a directory service, select Local.
  9. Click Save.
  10. Under each child organization, make sure that Inherit security settings from parent is enabled.
    1. Click the child organization.
    2. From the action menu, select Edit.
    3. Click Security.
    4. Enable Inherit security settings from parent.

Step 6: Add new users that sign in with SSO

Option A: Add users in the administration console

Use the administration console to add users to an organization that uses SSO.

  • Verify that the users in the organization exist in the SSO identity provider used by the organization.
  • Make sure that the Code42 environment usernames match the SSO usernames.

Option B: Deploy the Code42 app

New users can register accounts in your Code42 environment:

  1. Distribute the Code42 app installer to new users
  2. Choose Sign up for an account when you open the Code42 app.
  3. Create an account using the SSO credentials. The Code42 app username must match the SSO username.

What to expect

Reduced authentication prompts

When a user signs in with SSO, the user does 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. Signing in to the Code42 app does not authenticate the administration console because one is an app on the device and the other is accessed via a web browser.

Losing access to an identity provider

If a user loses access to the identity provider, the Code42 app continues to back up, uninterrupted.

  • Was this article helpful?