Slack On Premise



-->

  1. Slack On Premise Pricing
  2. Slack On Premise Solutions

In this tutorial, you'll learn how to integrate Slack with Azure Active Directory (Azure AD). When you integrate Slack with Azure AD, you can:

  • Control in Azure AD who has access to Slack.
  • Enable your users to be automatically signed-in to Slack with their Azure AD accounts.
  • Manage your accounts in one central location - the Azure portal.
Slack

Slack doesn’t offer end-to-end encryption, which puts the messages at risk of being intercepted. Closed-source software served as SaaS, where data of multiple users is stored together, its an attractive target for hackers to try to steal it and to exploit vulnerabilities. Slack is not available as a self-hosted solution but there are plenty of alternatives for power users and business that want to host a solution on-premise. The most popular Self-Hosted alternative is Mattermost, which is both free and Open Source. Slack is one such messaging platform that people use these days extensively. The hype is due to its flexibility, features, and easy-to-use interface. And it is becoming bigger with time, especially after acquiring HipChat and Stride. However, some aspects might land you in a boat where you may want to find an alternative solution to Slack. Mattermost is an open source, self-hosted Slack-alternative. As an alternative to proprietary SaaS messaging, Mattermost brings all your team communication into one place, making it searchable and accessible anywhere. It’s written in Golang and React and runs as a production-ready Linux binary under an MIT license with either MySQL or Postgres.

Prerequisites

To get started, you need the following items:

  • An Azure AD 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 Azure AD US Government Cloud environment. You can find this application in the Azure AD 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 Azure AD SSO in a test environment.

  • Slack supports SP 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.

Adding Slack from the gallery

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

  1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
  2. On the left navigation pane, select the Azure Active Directory service.
  3. Navigate to Enterprise Applications and then select All Applications.
  4. To add new application, select New application.
  5. In the Add from the gallery section, type Slack in the search box.
  6. Select Slack from results panel and then add the app. Wait a few seconds while the app is added to your tenant.

Configure and test Azure AD SSO for Slack

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

To configure and test Azure AD SSO with Slack, perform the following steps:

  1. Configure Azure AD SSO - to enable your users to use this feature.
    1. Create an Azure AD test user - to test Azure AD single sign-on with B.Simon.
    2. Assign the Azure AD test user - to enable B.Simon to use Azure AD 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 Azure AD representation of user.
  3. Test SSO - to verify whether the configuration works.

Configure Azure AD SSO

Follow these steps to enable Azure AD SSO in the Azure portal.

  1. In the Azure portal, on the Slack application integration page, find the Manage section and select single sign-on.

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

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

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

    a. In the Sign on URL text box, type a URL using the following pattern:https://<DOMAIN NAME>.slack.com/sso/saml/start

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

    c. For Reply URL, enter one of the following URL pattern:

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

    Note

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

    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.

  5. 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.

  6. 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. You also must add the email attribute. If the user does not have an email address, map emailaddress to user.userprincipalname and map email to user.userprincipalname.

    NameSource Attribute
    emailaddressuser.userprincipalname
    emailuser.userprincipalname

    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.

  7. 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.

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

Create an Azure AD test user

In this section, you'll create a test user in the Azure portal called B.Simon.

  1. From the left pane in the Azure portal, select Azure Active Directory, select Users, and then select All users.
  2. Select New user at the top of the screen.
  3. In the User properties, follow these steps:
    1. In the Name field, enter B.Simon.
    2. In the User 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. Click Create.

Assign the Azure AD test user

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

  1. In the Azure portal, select Enterprise Applications, and then select All applications.

  2. In the applications list, select 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. To automate the configuration within Slack, you need to install My Apps Secure Sign-in browser extension by clicking Install the extension.

  2. After adding extension to the browser, click on Set up Slack will direct you to the Slack application. From there, provide the admin credentials to sign into Slack. The browser extension will automatically configure the application for you and automate steps 3-6.

  3. If you want to setup Slack manually, in a different web browser window, sign in to your Slack company site as an administrator.

  4. Mad max crack only. Navigate to Microsoft Azure AD then go to Team Settings.

  5. In the Team Settings section, click the Authentication tab, and then click Change Settings.

  6. On the SAML Authentication Settings dialog, perform the following steps:

    a. In the SAML 2.0 Endpoint (HTTP) textbox, paste the value of Login URL, which you have copied from Azure portal.

    b. In the Identity Provider Issuer textbox, paste the value of Azure Ad Identifier, which you have copied from Azure portal.

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

    d. Configure the above three settings as appropriate for your Slack team. For more information about the settings, please find the Slack's SSO configuration guide here. https://get.slack.help/hc/articles/220403548-Guide-to-single-sign-on-with-Slack%60

    e. Click on expand and enter https://slack.com in the Service provider issuer textbox.

    f. Click Save Configuration.

    Note

    If you have more than one Slack instance that you need to integrate with Azure AD, 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

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

Test SSO

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

  • Click on Test this application in Azure portal. 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 Cloud App Security

Mattermost is an open source, self-hosted Slack-alternative

As an alternative to proprietary SaaS messaging, Mattermost brings all your team communication into one place, making it searchable and accessible anywhere. It’s written in Golang and React and runs as a production-ready Linux binary under an MIT license with either MySQL or Postgres.

Mattermost is:

  • Slack-compatible, not Slack-limited – Mattermost features rival Slack features, and support a superset of Slack’s incoming and outgoing webhook integrations, including compatibility with existing Slack integrations. From your existing Slack teams, you can import users, public channel history and even theme setting colors into Mattermost.
  • Mobile and desktop apps, in addition to web – Use Mattermost from your iOS or Android phones and tablets or with installed apps on Windows, Linux and Mac.
  • Easy to deploy, manage, and upgrade – Mattermost runs as Linux binary, Docker image, and many other forms. Try Mattermost with a one-line Docker install, and many install guides are available. Improvements ship every two months.
  • Supported by a vibrant community – Use Mattermost with dozens of community integrations and applications, including Jira, IRC, XMPP, Hubot, Giphy, Jenkins, GitLab, Trac, Redmine, SVN, RSS/Atom and many others. Build and share your own apps using Mattermost APIs and drivers.

Also see: 10 reasons why Mattermost is better than Slack

BONUS: Sign-up for the Mattermost Insiders mailing list and we’ll send you an upcoming article on How to integrate over 400 applications to Mattermost–including Jira, Github and Twitter–using Zapier integration.

Slack On Premise Pricing


Slack On Premise Solutions

Subscribe to our mailing list