Configure Shibboleth for SSO in your CrashPlan cloud environment

This article applies to CrashPlan Professional, Enterprise, and MSPs.png

Overview

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

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

Compatible CrashPlan platform components

Compatible with SSO
  • CrashPlan app for Windows, Mac, and Linux
  • CrashPlan console

Considerations

External authentication systems
Our technical support engineers can help with authentication issues caused by interaction with CrashPlan products. However, troubleshooting authentication issues outside your CrashPlan environment is beyond the scope of our technical support team. For assistance with external authentication systems, contact your authentication vendor.
  • To use this functionality, you must be assigned the Identity Management Administrator role. 
  • CrashPlan usernames must match SSO usernames. How you accomplish this depends on how you deploy CrashPlan apps.
  • CrashPlan supports service provider-initiated SSO but does not support identity provider-initiated SSO. Therefore, users cannot sign in to your CrashPlan environment from the identity provider's website or application, but instead must log in using a browser bookmark. 
  • SSO provides user authentication but does not provide user management. Set up SCIM provisioning or use the CrashPlan console to manage users
  • CrashPlan does not support Single Logout (SLO). Users must sign out of the identity provider to end their single sign-on session.
  • The CrashPlan console expects SAML assertions to be signed. To configure CrashPlan to support advanced SAML request configurations, see Set SAML attributes for SSO in CrashPlan.

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 CrashPlan 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 CrashPlan.
  • Confirm the required ports with your identity provider to determine if custom ports are being used.

Determine whether you need to configure multiple CrashPlan tenants

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

If you have more than one CrashPlan tenant to connect to your SSO identity provider, you need to obtain an entity ID URL for each CrashPlan 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 CrashPlan domain followed by the tenant ID, and can be found in the CrashPlan service provider metadata URL file in each tenant. For example:

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

 Metadata displays incorrectly in Safari

The Crashplan service provider metadata page will not load correctly in Apple's Safari browser. Paste the metadata URL into the address bar of an alternative browser if you need to view the correct output such as the entityID.

Step 1: Add an authentication provider

Follow the steps below for adding the authentication provider's metadata URL to the CrashPlan 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

Step 1: Enter the InCommon metadata

  1. Sign in to the CrashPlan console.
  2. Navigate to Administration > Integrations > Identity Management.
    CloudSSO-identity-mgmt-authentican-provider-new_no_nav.png
  3. Click Add Authentication Provider.
    Add_Authenticaiton_Provider_Feb_10_2020_original.png
  4. In Display Name, enter the federation name. 
  5. In Provider's Metadata, ensure that Enter URL is selected and paste the URL. For the InCommon federation, use the IdP-only aggregate: https://mdq.incommon.org/entities/idps/all
    Use metadata URL for federations
    CrashPlan cloud environments do not support uploading an XML file for federations. Use the metadata URL to configure the federation instead. 
    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.
    CrashPlan automatically detects that the provider's metadata URL belongs to a federation, and details for the federation appear. 
    federations-details-updated-wording-export_top_nav.png

Step 2: Select your identity provider

  1. From federation settings, Click Add an identity provider to this federation
    CloudSSO-add-authenticaion-provider-dialog.png
  2. Select a provider from the list.
    Begin typing to search the list.
  3. Enter a display name for the provider to display to users who sign in. 
    If your CrashPlan environment provides more than one SSO identity provider, users see a list of providers to choose from. 
  4. Click Add Identity Provider
    The provider appears under the federation.

Shibboleth

Enter Shibboleth metadata

Use the Shibboleth metadata URL provided by your institution.

  1. Sign in to the CrashPlan console.
  2. Navigate to Administration > Integrations > Identity Management.
  3. Click Add authentication provider.
    The Add Authentication Provider dialog appears.
    CloudSSO-add-authenticaion-provider-dialog.png
  4. In Display Name, enter an identity provider name to display to users who sign in with SSO.
    If your CrashPlan 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 CrashPlan organization.
  5. In Provider's Metadata, ensure that Enter URL is selected and paste the URL for the identity provider metadata XML file, or click Upload XML File and select the 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.
    identity management authentication provider.png
    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.
  7. If you choose not to use default mapping, you can use Attribute Mapping to customize mappings between CrashPlan platform user attributes and authentication provider SSO assertion attributes.
    1. Click Edit 7.0_console_edit_icon.png.
    2. Deselect Use default mapping.
    3. Configure mapping settings for each CrashPlan platform user attribute.
      Each field supports up to 128 characters. 
      • Username: Specify the identity provider's name ID or attribute that maps to the CrashPlan 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.
  8. (Optional) 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 2: Prepare Shibboleth

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

  • If two-way communication is possible between Shibboleth and your CrashPlan 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

Configure your CrashPlan environment as a file-backed HTTP metadata provider

  1. Make sure the Shibboleth identity provider can access the CrashPlan service provider metadata URL.
    Find your CrashPlan environment's metadata URL under Administration > Integrations > Identity Management on the Authentication Providers tab.
  2. Configure your Shibboleth identity provider to accept authentication requests from your CrashPlan environment.
    • Edit the file ${Shibboleth}/conf/relying-party.xml.
    • Add or modify the MetadataProvider element for your CrashPlan environment. For example:
    • <MetadataProvider xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
                        id="CrashPlan_Environment"
                        metadataURL="https://console.us2.crashplan.com/api/SsoAuthSpMetadata?registrationkey=xxxxxxxxxxxxxxxx"
                        backingFile="/tmp/idp-metadata.xml" />
      
      Set the following values by modifying the text between the quotes:
      • id: A name for your CrashPlan environment.
      • metadataURL:  Your CrashPlan environment's service provider metadata URL. 
      • backingFile: The path to the backup copy of the service provider metadata file on the identity provider.

Shibboleth option B: File-based metadata exchange

Configure CrashPlan as a filesystem metadata provider.

  1. Download the CrashPlan service provider metadata file, and upload it to the identity provider.
    The service provider metadata file is located in the CrashPlan console in the authentication provider details. 
  2. Configure your Shibboleth identity provider to accept authentication requests from CrashPlan.
    • Edit the file ${Shibboleth}/conf/relying-party.xml.
    • Add or modify the MetadataProvider element.
    • <MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
                        id="CrashPlan_Environment"
                        metadataFile="/path/to/my/metadata.xml" />
      
      Set the following values by modifying the text between the quotes:
      • id: A name for your CrashPlan environment.
      • metadataFile: The path to the CrashPlan service provider metadata file on the Shibboleth identity provider.

Configure your Shibboleth identity provider to sign assertions

The CrashPlan 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="https://idp.example.org" defaultSigningCredentialRef="ExampleOrgCred">
    <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" signAssertions="always"/>
</RelyingParty>
  1. Set the signAssertions attribute to always.

Step 3: Test SSO authentication

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 CrashPlan 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 7.0_console_edit_icon.png 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 CrashPlan console, select Account Account_top_nav.png > Sign Out
  7. Sign back in to the CrashPlan console as the test user to verify that SSO is working. 

Step 4: Configure organizations to use SSO

  1. Sign in to the CrashPlan 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 authentication provider for SSO.
    If applicable, select 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 5: Add new users that sign in with SSO

Option A: Add users in the CrashPlan console

Use the CrashPlan 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 CrashPlan environment usernames match the SSO usernames.

Option B: Deploy the CrashPlan app

Distribute the CrashPlan app to new users

  • New user accounts created with silent SSO registration are created automatically in CrashPlan. 
  • New user accounts created with manual registration requires new users to register in the CrashPlan environment. Users choose Sign up for an account when they open the CrashPlan app and they create an account using their SSO credentials. (The CrashPlan app username must match the SSO username.)

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 CrashPlan console or the CrashPlan app:

  • CrashPlan console: When users sign in to the CrashPlan 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 CrashPlan console launches. 
  • CrashPlan app: When users sign in to the CrashPlan app, 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 CrashPlan app launches.

Losing access to an identity provider

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

External resources

Was this article helpful?
0 out of 0 found this helpful

Articles in this section

See more