注意
不支持将 Slack 与自定义/BYOA 应用程序集成。 支持使用本文中所述的图库应用程序。 库应用程序已经过自定义,可与 Slack 的 SCIM v1 服务器一起使用。
本文旨在说明如何在 Slack 和 Microsoft Entra ID 中执行必要步骤,以便将用户帐户从 Microsoft Entra ID 自动预配和取消预配到 Slack。 有关此服务的功能、工作原理以及常见问题解答的重要详细信息,请参阅使用 Microsoft Entra ID 自动将用户预配到 SaaS 应用程序和取消预配。
支持的功能
- 在 Slack 中创建用户
- 当用户不再需要访问权限时,请删除 Slack 中的用户
- 使用户属性在 Microsoft Entra ID 和 Slack 之间保持同步
- 在 Slack 中预配组和组成员身份
- 单一登录至 Slack(推荐)
先决条件
本文中概述的方案假定你已具有以下项:
- Microsoft Entra 租户。
- 以下角色之一: 应用程序管理员、 云应用程序管理员或 应用程序所有者。
- 启用了加法计划或更佳计划的 Slack 租户。
- 在 Slack 中具有团队管理员权限的用户帐户。
注意
此集成也可以通过 Microsoft Entra 美国政府云环境使用。 可以在“Microsoft Entra 美国政府云应用程序库”中找到此应用程序,并以公有云相同的方式对其进行配置。
步骤 1:规划预配部署
- 了解 预配服务的工作原理。
- 确定哪些人员在预配范围内。
- 确定要在Microsoft Entra ID 和 Slack 之间映射的数据。
步骤 2:从 Microsoft Entra 应用程序库添加 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 的自动用户帐户预配:
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>企业应用
在应用程序列表中,选择“Slack”。
选择“预配”选项卡。
将“预配模式”设置为“自动”。
在“ 管理员凭据 ”部分下,选择“ 授权”。 这会在新的浏览器窗口中打开“Slack 授权”对话框。
在新窗口中,使用团队管理员帐户登录到 Slack。 在显示的授权对话框中,选择要启用预配的 Slack 团队,并选择“授权”。 完成后,返回到 Azure 门户完成预配配置。
选择“测试连接”,确保 Microsoft Entra ID 可以连接到 Slack 应用。 如果连接失败,请确保 Slack 帐户具有团队管理员权限,并重试“授权”步骤。
在“通知电子邮件”字段中,输入应接收预配错误通知的个人或组的电子邮件地址,并选中“发生故障时发送电子邮件通知”复选框。
选择“保存”。
在“映射”部分下,选择“将 Microsoft Entra 用户同步到 Slack”。
在 “属性映射 ”部分中,查看从 Microsoft Entra ID 同步到 Slack 的用户属性。 选择为 “匹配” 属性的属性用于在 Slack 中匹配用户账户以便进行更新操作。 选择“保存”按钮以提交任何更改 。
特征 | 类型 |
---|---|
活动 | 布尔值 |
externalId | 字符串 |
displayName | 字符串 |
姓名.姓氏 | 字符串 |
name.givenName | 字符串 |
title | 字符串 |
emails[type eq "work"].value | 字符串 |
用户名 | 字符串 |
昵称 | 字符串 |
addresses[type eq "untyped"].streetAddress | 字符串 |
addresses[type eq "untyped"].locality | 字符串 |
addresses[type eq "untyped"].region | 字符串 |
addresses[type eq "untyped"].postalCode | 字符串 |
addresses[type eq "untyped"].country | 字符串 |
phoneNumbers[type eq "mobile"].value | 字符串 |
phoneNumbers[type eq "work"].value | 字符串 |
roles[primary eq "True"].value | 字符串 |
区域设置 | 字符串 |
name.honorificPrefix | 字符串 |
photos[type eq "photo"].value | 字符串 |
profileUrl | 字符串 |
时区 | 字符串 |
用户类型 | 字符串 |
首选语言 | 字符串 |
urn:scim:schemas:extension:enterprise:1.0.department | 字符串 |
urn:scim:schemas:extension:enterprise:1.0.manager | 参考 |
urn:scim:schemas:extension:enterprise:1.0.employeeNumber | 字符串 |
urn:scim:schemas:extension:enterprise:1.0.costCenter | 字符串 |
urn:scim:schemas:extension:enterprise:1.0.organization | 字符串 |
urn:scim:schemas:extension:enterprise:1.0.division | 字符串 |
在“映射”部分下,选择“将 Microsoft Entra 组同步到 Slack”。
在 “属性映射 ”部分中,查看从 Microsoft Entra ID 同步到 Slack 的组属性。 选择为 匹配 属性的属性用于在 Slack 中匹配组以执行更新操作。 选择“保存”按钮以提交任何更改 。
特征 类型 displayName 字符串 members 参考 若要配置范围筛选器,请参阅 范围筛选器文章中提供的以下说明。
若要为 Slack 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“开”
通过在“设置”部分的“范围”中选择所需的值,定义要预配到 Slack 的用户和/或组。
准备好预配时,选择“保存”。
此操作会对“设置”部分的“范围”中定义的所有用户和组启动初始同步周期。 初始周期执行的时间比后续周期长,只要 Microsoft Entra 配置服务正在运行,后续周期大约每 40 分钟就会进行一次。
步骤 5:监视部署
配置预配后,请使用以下资源来监视部署:
- 使用 预配日志 确定哪些用户已成功或未成功预配
- 检查 进度栏 以查看预配周期的状态及其完成程度
- 如果预配配置似乎处于不正常状态,则应用程序进入隔离状态。 要了解有关隔离状态的详细信息,请参阅应用程序预配隔离状态文章。
故障排查提示
配置 Slack 的 displayName 属性时,请注意以下行为:
值并不完全唯一(例如,两个用户可以具有相同的显示名称)
支持非英语字符、空格、大写。
允许使用的标点符号包括句点、下划线、连字符、撇号、括号(例如
( [ { } ] )
)和分隔符(例如, / ;
)。displayName 属性不能有“@”字符。 如果包含“@”,则可能会在预配日志中找到一个跳过的事件,其说明为“AttributeValidationFailed”。
只有在 Slack 工作区/组织中配置以下两个设置时才更新:启用配置文件同步 和 用户无法更改其显示名称。
Slack 的 userName 属性必须低于 21 个字符,并且具有唯一值。
Slack 仅允许与特性“userName”和“email”匹配。
常见错误代码记录在官方 Slack 文档中 - https://api.slack.com/scim#errors
更改日志
- 06/16/2020 - 修改后的 DisplayName 特性仅在创建新用户期间更新。