Single Sign-On

📘

This is for all SSO providers other than Okta. Please see this doc for the Okta integration.

General Configuration

Scalr supports SSO providers that use SAML 2.0. When SSO is activated, it will move the authentication step outside of Scalr and hand it over to the SSO provider that you have configured. During the login to Scalr, the user will be transferred to a sign-in page provided by the SSO server. After signing in, the user will then be redirected back to Scalr which will subsequently treat the user as signed in.

To enable SSO, go to the integration tab at the account scope and click on SAML IDP. You will then be given information that will be needed in your SSO provider:

1214

Go to your SSO provider and start the configuration (see below for examples). The Scalr setup can be finished upon completion of the SSO provider configuration.

Upload the metadata file or manually fill in the fields required by your SSO provider and verify the connection when prompted:

2202

After you save the configuration, turn on the SSO authentication by going to the account settings:

2196

Users and Teams with SSO

After Scalr has been reconfigured for SSO, users and teams work as follows:

  1. Teams map to SSO groups. Account admins have access to create teams in Scalr and the team name will be validated against the groups in SSO, so the team name must match the group name.

  2. Teams must link to at least one environment and account.

  3. Once a team has been linked and given the proper permissions, any member of the related SSO group can attempt to log in to Scalr. On the first login, a user record gets created in Scalr and set as SSO authenticated.

Break Glass Users

Incidents happen and it is likely that, at some point, your SSO provider will have an outage. If this happens, you can avoid being locked out of Scalr through the “break glass” feature. This feature allows you to specify a list of users who are exempt from SSO login the event of a SSO outage. These users can be specified by going to account settings:

2162

Edit the SSO setting:

1082

Now add the list of users who can bypass SSO when needed:

1732

📘

Bypass Login URL

To bypass SSO login, users should add the ?noLoginRedirect query parameter to the account URL, e.g. https://account.scalr.io?noLoginRedirect

SSO Timeout

The SSO timeout can be configured by going to the account SSO settings and updating the default timeout, which is 2 hours:

Azure AD SSO Example

📘

Note

Scalr supports all SAML 2.0 providers, this is just an example of a commonly used one.

Go to Azure Active Directory and click on Enterprise applications:

1152

Select New application and Create your own application:

1452

Name the application and select “Integrate any other application you don’t find in the gallery”:

1050

Select “Set up single sign-on”:

1980

Click edit on the SAML Configuration option and enter the following:

1502

Open the User Attributes & Claims, click add new claim, select “All groups”, and save:

2720

On the Single sign-on page, go to the SAML Signing Certificate section and download the Certificate (Base64). Paste that into the IDP x509cert section in Scalr:

Azure:

Scalr:

On the Azure Single sign-on page, go to the Set up section:

  • Azure AD Identifier = the IDP entity ID in Scalr
  • Login URL = the IDP single sign-on service URL in Scalr
  • Logout URL = is the IDP single logout service URL in Scalr

Azure:

1302

Scalr:

In Azure, go to App registrations, find your app and click on it. Copy the Application (client) ID and Directory (tenant) ID, and paste the IDs into the respective fields in Scalr:

Azure:

2652

Scalr:

In Azure, click on Certificate & Secrets and generate a Client secret. Paste the secret into the respective field in Scalr:

Azure:

1616

Scalr:

In Azure, click on API Permissions. Add permission, select Microsoft Graph, Application permissions, and add Directory.Read.All. Ensure that “admin consent” is set to yes and the permission type is “application”.

2662

In Scalr, add the following settings in the mapping section:

In Scalr, click on the advanced section and update the following fields:

  • IDP single sign on service binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
  • SP name id format = urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

Click Connect SAML IDP and then verify the connection on the main SAML page in Scalr.

Azure SCIM

Scalr supports the SCIM (System for Cross-domain Identity Management) protocol to automatically add and remove users from Scalr.

To enable the SCIM protocol for Azure AD, go to the Azure application that you already provisioned above and follow the steps below:

Go to Provisioning, click Get Started:

  • Select Automatic for Provisioning mode
  • For Tenant URL insert SCIM server URL (https://<account>.scalr.io/scim/v2)
  • For Secret Token insert the SCIM access token, which can be obtained in Scalr in the SCIM Protocol section of the account settings page.
  • In Azure, verify the connection by clicking Test Connection
  • Click Save
  1. In Azure, configure the following Attribute Mappings for Provision Azure Active Directory Users in Mappings section:
    • userPrincipalName -> userName (Matching precedence 1)
    • Switch([IsSoftDeleted], , "False", "True", "True", "False") -> active
    • givenName -> name.givenName
    • surname -> name.familyName
    • objectId -> externalId
  2. Configure the following Attribute Mappings for Provision Azure Active Directory Groups in Mappings section:
    • displayName -> displayName (Matching precedence 1)
    • members -> members