Tutorial: Microsoft Entra SSO integration with Slack

In this tutorial, you'll learn how to integrate Slack with Microsoft Entra ID. When you integrate Slack with Microsoft Entra ID, you can:

  • Control in Microsoft Entra ID who has access to Slack.
  • Enable your users to be automatically signed-in to Slack with their Microsoft Entra accounts.
  • Manage your accounts in one central location.

Prerequisites

To get started, you need the following items:

  • A Microsoft Entra subscription. If you don't have a subscription, you can get a free account.
  • Slack single sign-on (SSO) enabled subscription.

Note

If you need to integrate with more than one Slack instance in one tenant, the identifier for each application can be a variable.

Note

This integration is also available to use from Microsoft Entra US Government Cloud environment. You can find this application in the Microsoft Entra US Government Cloud Application Gallery and configure it in the same way as you do from public cloud.

Scenario description

In this tutorial, you configure and test Microsoft Entra SSO in a test environment.

  • Slack supports SP (service provider) initiated SSO.
  • Slack supports Just In Time user provisioning.
  • Slack supports Automated user provisioning.

Note

Identifier of this application is a fixed string value so only one instance can be configured in one tenant.

To configure the integration of Slack into Microsoft Entra ID, you need to add Slack from the gallery to your list of managed SaaS apps.

  1. Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.
  2. Browse to Identity > Applications > Enterprise applications > New application.
  3. In the Add from the gallery section, type Slack in the search box.
  4. Select Slack from results panel and then add the app. Wait a few seconds while the app is added to your tenant.

Alternatively, you can also use the Enterprise App Configuration Wizard. In this wizard, you can add an application to your tenant, add users/groups to the app, assign roles, as well as walk through the SSO configuration as well. You can learn more about O365 wizards here.

Configure and test Microsoft Entra SSO for Slack

Configure and test Microsoft Entra SSO with Slack using a test user called B.Simon. For SSO to work, you need to establish a link relationship between a Microsoft Entra user and the related user in Slack.

To configure and test Microsoft Entra SSO with Slack, perform the following steps:

  1. Configure Microsoft Entra SSO - to enable your users to use this feature.
    1. Create a Microsoft Entra test user - to test Microsoft Entra single sign-on with B.Simon.
    2. Assign the Microsoft Entra test user - to enable B.Simon to use Microsoft Entra single sign-on.
  2. Configure Slack SSO - to configure the single sign-on settings on application side.
    1. Create Slack test user - to have a counterpart of B.Simon in Slack that is linked to the Microsoft Entra representation of user.
  3. Test SSO - to verify whether the configuration works.

Configure Microsoft Entra SSO

Follow these steps to enable Microsoft Entra SSO.

  1. Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.

  2. Browse to Identity > Applications > Enterprise applications > Slack > Single sign-on.

  3. On the Select a single sign-on method page, select SAML.

  4. On the Set up single sign-on with SAML page, click the edit/pen icon for Basic SAML Configuration to edit the settings.

    Screenshot shows how to edit Basic SAML Configuration.

  5. On the Basic SAML Configuration section, enter the values for the following fields:

    a. In the Identifier (Entity ID) text box, type the URL: https://slack.com

    b. In the Reply URL text box, type a URL using one of the following patterns:

    Reply URL
    https://<DOMAIN NAME>.slack.com/sso/saml
    https://<DOMAIN NAME>.enterprise.slack.com/sso/saml

    c. In the Sign on URL text box, type a URL using one of the following patterns:

    Sign on URL
    https://<DOMAIN>.slack.com
    https://<DOMAIN>.enterprise.slack.com

    Note

    These values aren't real. You need to update these values with the actual Sign-on URL and Reply URL. Contact Slack support team to get the value. You can also refer to the patterns shown in the Basic SAML Configuration section.

    Note

    The value for Identifier (Entity ID) can be a variable if you have more than one Slack instance that you need to integrate with the tenant. Use the pattern https://<DOMAIN NAME>.slack.com. In this scenario, you also must pair with another setting in Slack by using the same value.

  6. Slack application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows the list of default attributes.

    Screenshot shows the image of attributes configuration.

  7. In addition to above, Slack application expects few more attributes to be passed back in SAML response which are shown below. These attributes are also pre populated but you can review them as per your requirements.

    Screenshot of the Required Claims.

  8. On the Set up single sign-on with SAML page, in the SAML Signing Certificate section, find Certificate (Base64) and select Download to download the certificate and save it on your computer.

    Screenshot shows the Certificate download link.

  9. On the Set up Slack section, copy the appropriate URL(s) based on your requirement.

    Screenshot shows to copy configuration URLs.

Create a Microsoft Entra test user

In this section, you'll create a test user called B.Simon.

  1. Sign in to the Microsoft Entra admin center as at least a User Administrator.
  2. Browse to Identity > Users > All users.
  3. Select New user > Create new user, at the top of the screen.
  4. In the User properties, follow these steps:
    1. In the Display name field, enter B.Simon.
    2. In the User principal name field, enter the username@companydomain.extension. For example, B.Simon@contoso.com.
    3. Select the Show password check box, and then write down the value that's displayed in the Password box.
    4. Select Review + create.
  5. Select Create.

Assign the Microsoft Entra test user

In this section, you'll enable B.Simon to use single sign-on by granting access to Slack.

  1. Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.

  2. Browse to Identity > Applications > Enterprise applications > Slack.

  3. In the app's overview page, find the Manage section and select Users and groups.

  4. Select Add user, then select Users and groups in the Add Assignment dialog.

  5. In the Users and groups dialog, select B.Simon from the Users list, then click the Select button at the bottom of the screen.

  6. If you are expecting a role to be assigned to the users, you can select it from the Select a role dropdown. If no role has been set up for this app, you see "Default Access" role selected.

  7. In the Add Assignment dialog, click the Assign button.

Configure Slack SSO

  1. In a different web browser window, sign in to your up Slack company site as an administrator

  2. click on your workspace name in the top left, then go to Settings & administration -> Workspace settings.

    Screenshot of Configure single sign-on for Microsoft Entra ID.

  3. In the Settings & permissions section, click the Authentication tab, and then click Configure button at SAML authentication method.

    Screenshot of Configure single sign-on On Team Settings.

  4. On the Configure SAML authentication for Azure dialog, perform the below steps:

    Screenshot of Configure single sign-on On SAML Authentication Settings.

    a. In the top right, toggle Test mode on.

    b. In the SAML SSO URL textbox, paste the value of Login URL.

    c. In the Identity provider issuer textbox, paste the value of Microsoft Entra Identifier.

    d. Open your downloaded certificate file in Notepad, copy the content of it into your clipboard, and then paste it to the Public Certificate textbox.

  5. Expand the Advanced options and perform the below steps:

    Screenshot of Configure Advanced options single sign-on On App Side.

    a. If you need an end-to-end encryption key, tick the box Sign AuthnRequest to show the certificate.

    b. Enter https://slack.com in the Service provider issuer textbox.

    c. Choose how the SAML response from your IDP is signed from the two options.

    Note

    In order to set up the service provider (SP) configuration, you must click on Expand next to Advanced Options in the SAML configuration page. In the Service Provider Issuer box, enter the workspace URL. The default is slack.com.

  6. Under Settings, decide if members can edit their profile information (like their email or display name) after SSO is enabled. You can also choose whether SSO is required, partially required or optional.

    Screenshot of Configure Save configuration single sign-on On App Side.

  7. Click Save Configuration.

    Note

    If you have more than one Slack instance that you need to integrate with Microsoft Entra ID, set https://<DOMAIN NAME>.slack.com to Service provider issuer so that it can pair with the Azure application Identifier setting.

Create Slack test user

The objective of this section is to create a user called B.Simon in Slack. Slack supports just-in-time provisioning, which is by default enabled. There is no action item for you in this section. A new user is created during an attempt to access Slack if it doesn't exist yet. Slack also supports automatic user provisioning, you can find more details here on how to configure automatic user provisioning.

Note

If you need to create a user manually, you need to contact Slack support team.

Note

Microsoft Entra Connect is the synchronization tool which can sync on premises Active Directory Identities to Microsoft Entra ID and then these synced users can also use the applications as like other cloud users.

Test SSO

In this section, you test your Microsoft Entra single sign-on configuration with following options.

  • Click on Test this application, this will redirect to Slack Sign-on URL where you can initiate the login flow.

  • Go to Slack Sign-on URL directly and initiate the login flow from there.

  • You can use Microsoft My Apps. When you click the Slack tile in the My Apps, this will redirect to Slack Sign-on URL. For more information about the My Apps, see Introduction to the My Apps.

Next steps

Once you configure Slack you can enforce Session control, which protects exfiltration and infiltration of your organization’s sensitive data in real time. Session control extends from Conditional Access. Learn how to enforce session control with Microsoft Defender for Cloud Apps.