ADFS 单点登录

你可以集成活动目录联合服务 (ADFS) 示例,帮助管理成员的无缝单点登录。

注意: ADFS 本身不支持通过 Slack 的 SCIM API 来自动撤销配置。如果你尚未在 ADFS 外实施 SCIM 配置解决方案,那么,在你的 IDP 中撤销成员的配置之后,确保也在 Slack 中注销他们的权限。


步骤 1:为 Slack 设置 ADFS

创建一个新依赖方凭证

  1. 登录至已安装 ADFS 的服务器。如果你在部署 ADFS 时需要帮助,请查看此指南
  2. 打开 ADFS 管理控制台并选择信赖关系,然后在左侧控制台树中选择依赖方凭证
  3. 从右侧的操作菜单中单击添加依赖方凭证
  4. 选择数据源这一步,切换选项手动输入有关依赖方的数据。 Select Data Source step, with option to enter data about the replying party manually selected
  5. 然后,在指定显示名称选项卡中指定应用的显示名称。我们建议采用比如公司名 - Slack 之类的名称。添加您可能需要选填的备注。
  6. 选择个人档案选项卡中,选择 ADFS 个人档案
  7. 配置证书选项卡中,保持采用默认的证书设置。
  8. 配置网址选项卡中,选择启用对 SAML 2.0 WebSSO 协议的支持复选框,然后输入 SAML 服务端点

    • 企业增强套餐:
    https://yourdomain.slack.com/sso/saml
    •  企业套餐:https://yourdomain.enterprise.slack.com/sso/saml
    Configure URL step, with option to enable support for the SAML 2.0 WebSSO protocol selected
  9. 配置标识符选项卡中,输入 https://slack.com,然后单击添加备注:如果你选择指定唯一的工作区网址 (https://[workspacename].slack.com),请确保在 Slack 的服务提供程序颁发者字段中输入相同的值。
  10. 添加可选的多重身份验证
  11. 选择允许所有用户访问此依赖方,然后单击下一步查看你的设置
  12. 确保你开启了在此向导关闭时,打开编辑申领规则对话框来获取此依赖方凭证,然后选择关闭
  13. 接下来,你将为依赖方凭证创建规则,或判断申领,在本例中,即为你的 Slack 工作区或企业组织。Slack 只接收发出的申领类型属性和值,所以属性列表看起来可能不同。注意,你需要两种申领:一种针对 Slack 属性,一种针对 NameID
  14. 单击添加规则
    List of rules for Slack Attributes and NameID, with buttons to add, edit, or remove rule
  15. 创建一项规则,将 LDAP 属性作为申领发送。只需要发出的申领类型 User.Email,但你可能想要包含 first_namelast_nameUser.Username。注意,发出的申领类型需注意大小写。 

    注意:发出的用于 User.Username 的值与用户的用户名匹配。确保对每位用户来说这个值是唯一的,且不会再次使用。
    Configure Claim Rule step, showing list of LDAP Attributes and Outgoing Claim Types
  16. 接下来,创建另一项规则,用来转换收到的申领。
  17. 打开所需的 NameID 申领规则,将发出的姓名 ID 格式变更为永久性标识符。然后,单击确定进行保存。
    NameID 申领规则,显示了收到的和发出的申领类型下拉菜单

注意:如果你选择在 Slack 中签署 AuthnRequest,你需要将生成的 Slack 证书上传到 ADFS 中的签署选项卡。你还需要确保已在高级选项卡中选择安全的哈希算法 SHA-1。


步骤 2:将 Slack 与你的 IDP 集成

企业增强套餐

企业套餐

然后,在 Slack 工作区的身份验证设置中添加 ADFS 的详细信息:

  1. 在桌面版中,单击侧栏中的工作区名称。
  2. 从菜单中选择工具和设置,然后单击工作区设置
  3. 单击身份验证选项卡,然后单击 SAML 身份验证旁边的配置(OneLogin、Okta,或你的自定义 SAML 2.0 解决方案)。
  4. 输入你的 SAML 2.0 端点网址(SAML 2.0/W-Federation  网址端点)。默认安装为 /adfs/ls/
    SAML SSO URL and text box with URL entered
  5. 输入你的身份提供商颁发者。如果对于这些端点你不太确定,在已安装 ADFS 的设备的 Powershell 中运行PS C:/> Get-AdfsEndpointIdentity Provider Issuer and text box with IdP Entitiy ID for the service you use entered
  6. 从 ADFS 的加密选项卡中,复制你的整个令牌登录 x.509 证书,并将其粘贴到公共证书字段。ADFS's Encryption tab with token-signing field selected
  7. 要使用 Slack 设置多个依赖方凭证,请展开高级选项菜单。
  8. 除了 AuthnContextClass Ref 外,选择 PasswordProtectedTransport 和窗口(与 ADFS 一起使用,适用于内部/外部身份验证)。然后输入唯一的服务提供程序颁发者。 这应该与你在 ADFS 中的依赖方标识符相匹配。
    Advanced options with AuthnContextClass Ref dropdown menu open
  9. 单击保存

接下来,你需要在企业组织的身份验证设置中添加 ADFS 的详细信息:

  1. 在桌面版中,单击侧栏中的工作区名称。
  2. 从菜单中选择工具和设置 ,然后单击组织设置
  3. 在左侧栏单击 安全,然后选择 SSO 设置
  4. 输入你的 SAML 2.0 端点网址(SAML 2.0/W-Federation 网址端点)。默认安装为 /adfs/ls/
    SAML_2.0_Endpoint_URL__Grid_.png
  5. 输入你的身份提供程序颁发者。如果对于这些端点你不太确定,在已安装 ADFS 的设备的 Powershell 中运行 PS C:/> Get-AdfsEndpointIdentity_Provider_Issuer__grid_.png
  6. 公共证书字段中,复制和粘贴你的整个 x.509 证书。adfs_clint.png
  7. 你可以使用 Slack 设置多个依赖方凭证。在 AuthnContextClass Ref 下,选择 PasswordProtectedTransport 和窗口(与 ADFS 一起使用,适用于内部/外部身份验证)。
  8. 输入唯一的服务提供程序颁发者。 这应该与你在 ADFS 中的依赖方标识符相匹配。
    service_provider_issuer
  9. 单击保存更改

注意:我们很乐意帮助你设置,但我们不能保证你的连接适用于 Slack。请阅读排除 SAML 授权错误文章,或向我们发送通知,我们将全力协助。

哪些人员可以使用此功能?
  • 工作区拥有者组织拥有者
  • 企业增强套餐和企业套餐