教程:为 Slack 配置自动用户预配

注意

不支持将 Slack 与自定义/BYOA 应用程序集成。 支持使用本教程中所述的库应用程序。 库应用程序已经过自定义,可与 Slack 的 SCIM v1 服务器一起使用。

本教程的目标是展示从 Microsoft Entra ID 自动将用户帐户预配到 Slack 以及取消其预配而需要在 Slack 和 Microsoft Entra ID 中执行的步骤。 有关此服务的功能、工作原理以及常见问题的重要详细信息,请参阅使用 Microsoft Entra ID 自动将用户预配到 SaaS 应用程序和取消预配

支持的功能

  • 在 Slack 中创建用户
  • 在用户不再有访问需求的情况下,在 Slack 中删除用户
  • 使用户属性在 Microsoft Entra ID 和 Slack 之间保持同步
  • 在 Slack 中预配组和组成员身份
  • 单一登录到 Slack(推荐)

先决条件

在本教程中概述的方案假定您已具有以下各项:

注意

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

步骤 1:规划预配部署

  1. 了解预配服务的工作原理
  2. 确定谁在预配范围中。
  3. 确定在 Microsoft Entra ID 与 Slack 之间映射的数据。

从 Microsoft Entra 应用程序库添加 Slack,以开始管理对 Slack 的预配。 如果以前为 SSO 设置过 Slack,则可以使用同一应用程序。 但建议你在最初测试集成时创建一个单独的应用。 若要详细了解如何从库中添加应用,可以单击此处

步骤 3:定义谁在预配范围内

借助 Microsoft Entra 预配服务,可根据对应用程序的分配和用户/组的属性来限定谁在预配范围内。 如果选择根据分配来限定要将谁预配到应用,可以按照下面的步骤操作,将用户和组分配到应用。 如果选择仅根据用户或组的属性来限定要对谁进行预配,可以使用此处所述的范围筛选器。

  • 先小部分测试。 在向全员推出之前,请先使用少量的用户和组进行测试。 如果预配范围设置为分配的用户和组,则可以先尝试将一两个用户或组分配到应用。 当预配范围设置为所有用户和组时,可以指定基于属性的范围筛选器

  • 如果你需要其他角色,可以更新应用程序清单以添加新角色。

步骤 4:配置对 Slack 的自动用户预配

本部分介绍了如何将 Microsoft Entra ID 连接到 Slack 的用户帐户预配 API 并配置预配服务,以便在 Slack 中根据 Microsoft Entra ID 中的用户和组分配创建、更新和禁用分配的用户帐户。

在 Microsoft Entra ID 中配置 Slack 的自动用户帐户预配:

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

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

    “企业应用程序”边栏选项卡

  3. 在应用程序列表中,选择“Slack”。

    应用程序列表中的 Slack 链接

  4. 选择“预配”选项卡。

    “管理”选项的屏幕截图,其中突出显示了“预配”选项。

  5. 将“预配模式”设置为“自动”。

    “预配模式”下拉列表的屏幕截图,其中突出显示了“自动”选项。

  6. 在“管理员凭据”部分下,单击“授权”。 这会在新的浏览器窗口中打开“Slack 授权”对话框。

    屏幕截图显示了“授权管理员凭据”按钮。

  7. 在新窗口中,使用团队管理员帐户登录到 Slack。 在显示的授权对话框中,选择要启用预配的 Slack 团队,并选择“授权”。 完成后,返回到 Azure 门户完成预配配置。

    授权对话框

  8. 选择“测试连接”,确保 Microsoft Entra ID 可以连接到 Slack 应用。 如果连接失败,请确保 Slack 帐户具有团队管理员权限,并重试“授权”步骤。

  9. 在“通知电子邮件”字段中,输入应接收预配错误通知的个人或组的电子邮件地址,并选中“发生故障时发送电子邮件通知”复选框 。

    通知电子邮件

  10. 选择“保存”。

  11. 在“映射”部分下,选择“将 Microsoft Entra 用户同步到 Slack”。

  12. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 Slack 的用户属性。 请注意,选为匹配属性的属性用于匹配 Slack 中的用户帐户以执行更新操作。 选择“保存”按钮以提交任何更改。

Attribute 类型
活动 Boolean
externalId 字符串
displayName 字符串
name.familyName 字符串
name.givenName 字符串
title 字符串
emails[type eq "work"].value 字符串
userName 字符串
nickName String
addresses[type eq "untyped"].streetAddress String
addresses[type eq "untyped"].locality String
addresses[type eq "untyped"].region String
addresses[type eq "untyped"].postalCode String
addresses[type eq "untyped"].country 字符串
phoneNumbers[type eq "mobile"].value 字符串
phoneNumbers[type eq "work"].value 字符串
roles[primary eq "True"].value 字符串
区域设置 字符串
name.honorificPrefix String
photos[type eq "photo"].value String
profileUrl 字符串
timezone 字符串
userType 字符串
preferredLanguage 字符串
urn:scim:schemas:extension:enterprise:1.0.department String
urn:scim:schemas:extension:enterprise:1.0.manager 参考
urn:scim:schemas:extension:enterprise:1.0.employeeNumber String
urn:scim:schemas:extension:enterprise:1.0.costCenter String
urn:scim:schemas:extension:enterprise:1.0.organization String
urn:scim:schemas:extension:enterprise:1.0.division 字符串
  1. 在“映射”部分下,选择“将 Microsoft Entra 组同步到 Slack”。

  2. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 Slack 的组属性。 请注意,选为匹配属性的属性用于在更新操作中匹配 Slack 中的组。 选择“保存”按钮以提交任何更改。

    Attribute 类型
    displayName 字符串
    members 参考
  3. 若要配置范围筛选器,请参阅范围筛选器教程中提供的以下说明。

  4. 若要为 Slack 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“开”

    预配状态已打开

  5. 通过在“设置”部分的“范围”中选择所需的值,定义要预配到 Slack 的用户和/或组 。

    预配范围

  6. 已准备好预配时,单击“保存” 。

    保存预配配置

此操作会对“设置”部分的“范围”中定义的所有用户和组启动初始同步周期 。 初始周期执行的时间比后续周期长,只要 Microsoft Entra 预配服务正在运行,后续周期大约每 40 分钟就会进行一次。

步骤 5:监视部署

配置预配后,请使用以下资源来监视部署:

  1. 通过预配日志来确定哪些用户已预配成功或失败
  2. 检查进度栏来查看预配周期的状态以及完成进度
  3. 如果怀疑预配配置处于非正常状态,则应用程序将进入隔离状态。 有关隔离状态的详细信息,请访问此处

故障排查提示

  • 配置 Slack 的 displayName 属性时,请注意以下行为:

    • 值并非完全唯一(例如 2 个用户可以具有相同的显示名称)

    • 支持非英语字符、空格、大写。

    • 允许使用的标点符号包括句点、下划线、连字符、撇号、括号(例如 ( [ { } ] ))和分隔符(例如 , / ;)。

    • displayName 属性不能包含“@”字符。 如果包含“@”,则可能会在预配日志中找到已跳过的事件,其描述为“AttributeValidationFailed”。

    • 仅当在 Slack 的工作区/组织中配置了这两个设置时才进行更新 - 启用配置文件同步用户无法更改其显示名称

  • Slack 的 userName 属性必须小于 21 个字符并具有唯一值。

  • Slack 仅允许与特性“userName”和“email”匹配 。

  • 常见错误代码记录在官方 Slack 文档中 - https://api.slack.com/scim#errors

更改日志

  • 06/16/2020 - 修改后的 DisplayName 特性仅在创建新用户期间更新。

其他资源

后续步骤