教程:Microsoft Entra SSO 与 Slack 集成

本教程介绍了如何将 Slack 与 Microsoft Entra ID 集成。 将 Slack 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 Slack。
  • 让用户能够使用其 Microsoft Entra 帐户自动登录到 Slack。
  • 在中心位置管理帐户。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果没有订阅,可以获取一个免费帐户
  • 已启用 Slack 单一登录 (SSO) 的订阅。

注意

如果需要在一个租户中与多个 Slack 实例集成,则每个应用程序的标识符可以是变量。

注意

此集成也可以通过 Microsoft Entra 美国政府云环境使用。 你可以在“Microsoft Entra 美国政府云应用程序库”中找到此应用程序,并以公有云相同的方式对其进行配置。

方案描述

在本教程中,将在测试环境中配置并测试 Microsoft Entra SSO。

  • Slack 支持 SP(服务提供商)发起的 SSO。
  • Slack 支持实时用户预配。
  • Slack 支持自动用户预配

注意

此应用程序的标识符是一个固定字符串值,因此只能在一个租户中配置一个实例。

要配置 Slack 与 Microsoft Entra ID 的集成,需要从库中将 Slack 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
  3. 在“从库中添加”部分的搜索框中,键入“Slack” 。
  4. 从结果面板中选择“Slack”,然后添加该应用。 在该应用添加到租户时等待几秒钟。

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 可在此处详细了解 O365 向导。

配置并测试 Slack 的 Microsoft Entra SSO

使用名为B.Simon的测试用户配置并测试 Slack 的 Microsoft Entra SSO。 要使 SSO 正常工作,需要在 Microsoft Entra 用户与 Slack 中的相关用户之间建立关联。

要配置并测试 Slack 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
  2. 配置 Slack SSO - 在应用程序端配置单一登录设置。
    1. 创建 Slack 测试用户 - 在 Slack 中创建 B.Simon 的对应用户,并将其关联到其在 Microsoft Entra 中的表示形式。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“EBSCO”>“单一登录”。

  3. 在“选择单一登录方法”页上选择“SAML” 。

  4. 在“使用 SAML 设置单一登录”页上,单击“基本 SAML 配置”的编辑/笔形图标以编辑设置 。

    显示如何编辑基本 SAML 配置的屏幕截图。

  5. 在“基本 SAML 配置”部分,输入以下字段的值:

    a. 在“标识符(实体 ID)”文本框中,键入 URL:https://slack.com

    b. 在“回复 URL”文本框中,使用以下模式之一键入 URL:

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

    c. 在“登录 URL”文本框中,使用以下模式之一键入 URL:

    登录 URL
    https://<DOMAIN>.slack.com
    https://<DOMAIN>.enterprise.slack.com

    注意

    这些不是实际值。 需要使用实际登录 URL 和回复 URL 更新这些值。 请联系 Slack 支持团队来获取此值。 还可参考“基本 SAML 配置”部分中显示的模式。

    注意

    如果有多个需要与租户进行集成的 Slack 实例,则标识符(实体 ID)的值可以是变量。 使用模式 https://<DOMAIN NAME>.slack.com。 在此方案中,还需要使用相同的值与 Slack 中的另一个设置进行配对。

  6. Slack 应用程序需要特定格式的 SAML 断言,这要求向 SAML 令牌属性配置添加自定义属性映射。 以下屏幕截图显示了默认属性的列表。

    显示属性配置映像的屏幕截图。

  7. 除了上述属性,Slack 应用程序还要求在 SAML 响应中传递回更多的属性,如下所示。 这些属性也是预先填充的,但可以根据要求查看它们。

    所需声明的屏幕截图。

  8. 在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中,找到“证书(Base64)”,选择“下载”以下载该证书并将其保存到计算机上 。

    显示证书下载链接的屏幕截图。

  9. 在“设置 Slack”部分中,根据要求复制相应的 URL。

    显示复制配置 URL 的屏幕截图。

创建 Microsoft Entra 测试用户

在本部分,你将创建名为 B.Simon 的测试用户。

  1. 至少以用户管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“用户”>“所有用户”
  3. 选择屏幕顶部的“新建用户”>“创建新用户”。
  4. “用户”属性中执行以下步骤:
    1. 在“显示名称”字段中输入 B.Simon
    2. 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如 B.Simon@contoso.com
    3. 选中“显示密码”复选框,然后记下“密码”框中显示的值。
    4. 选择“查看 + 创建”。
  5. 选择“创建”。

分配 Microsoft Entra 测试用户

本部分将通过授予 B.Simon 访问 Slack 的权限,使其能够使用单一登录。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Slack”。

  3. 在应用的概述页中,找到“管理”部分,选择“用户和组” 。

  4. 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。

  5. 在“用户和组”对话框中,从“用户”列表中选择“B.Simon”,然后单击屏幕底部的“选择”按钮。

  6. 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。

  7. 在“添加分配”对话框中,单击“分配”按钮。

配置 Slack SSO

  1. 在另一个 Web 浏览器窗口中,以管理员身份登录到 Slack 公司站点

  2. 单击左上角的工作区名称,然后转到“设置和管理”-“工作区设置”。>

    配置 Microsoft Entra ID 的单一登录的屏幕截图。

  3. 在“设置和权限”部分中,单击“身份验证”选项卡,然后单击 SAML 身份验证方法处的“配置”按钮。

    在 Team 设置上配置单一登录的屏幕截图。

  4. 在“为 Azure 配置 SAML 身份验证”对话框上,执行以下步骤:

    在 SAML 身份验证设置上配置单一登录的屏幕截图。

    a. 在右上角,打开“测试”模式。

    b. 在“SAML SSO URL”文本框中,粘贴“登录 URL”的值。

    c. 在“标识提供者证书颁发者”文本框中,粘贴“Microsoft Entra 标识符”的值。

    d. 在记事本中打开下载的证书,将其内容复制到剪贴板,并将其粘贴到“公共证书”文本框中。

  5. 展开“高级选项”并执行以下步骤:

    在应用端配置高级选项单一登录的屏幕截图。

    a. 如果需要端到端加密密钥,请勾选“签署 AuthnRequest”框以显示证书。

    b. 在“服务提供者颁发者”文本框中输入 https://slack.com

    c. 从以下两个选项中选择如何签署来自 IDP 的 SAML 响应。

    注意

    若要设置服务提供者 (SP) 配置,必须在 SAML 配置页面中单击“高级选项”旁的“展开” 。 在“服务提供者颁发者”框中,输入工作区 URL。 默认值为 slack.com。

    注意

    将“AuthnContextClassRef”设置为“不要发送此值”以解决错误消息“Error - AADSTS75011 用户在服务中用于身份验证的身份验证方法与请求的身份验证方法 AuthnContextClassRef 不匹配”

  6. 在“设置”下,确定在启用 SSO 后成员是否可以编辑其个人资料信息(如电子邮件或显示名称)。 还可以选择 SSO 是必需、部分必需还是可选的。

    在应用端配置保存配置单一登录的屏幕截图。

  7. 单击“保存配置”。

    注意

    如果需要与 Microsoft Entra ID 集成多个 Slack 实例,请将https://<DOMAIN NAME>.slack.com设置为“服务提供程序颁发者”,以便它可以与 Azure 应用程序“标识符”设置配对。

创建 Slack 测试用户

本部分要在 Slack 中创建名为“B.Simon”的用户。 Slack 支持在默认情况下启用的实时预配。 此部分不存在任何操作项。 尝试访问 Slack 期间,如果尚不存在用户,则会创建一个新用户。 Slack 还支持自动用户预配,有关如何配置自动用户预配的更多详细信息,请参见此处

注意

如果需要手动创建用户,则需联系 Slack 支持团队

注意

Microsoft Entra Connect 是同步工具,可以将本地 Active Directory 标识同步到 Microsoft Entra ID,然后这些同步的用户也可以像其他云用户一样使用应用程序。

测试 SSO

在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。

  • 单击“测试此应用程序”,这会重定向到 Slack 登录 URL,可以从那里启动登录流。

  • 直接转到 Slack 登录 URL,并从那里启动登录流。

  • 你可使用 Microsoft 的“我的应用”。 单击“我的应用”中的 Slack 磁贴时,会重定向到 Slack 登录 URL。 有关“我的应用”的详细信息,请参阅“我的应用”简介

后续步骤

配置 Slack 后,可以强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制