Zendesk 通过 SAML 2.0 支持单点登录 (SSO)。SAML 2.0 身份提供者 (IDP) 可采用多种形式,其中之一便是自托管的 Active Directory 联合身份验证服务 (ADFS) 服务器。ADFS 是 Microsoft 作为 Windows 服务器的标准角色提供的一项服务,可使用现有 Active Directory 凭证提供网络登录。
要求
要使用 ADFS 登录到您的 Zendesk 实例,您需要以下组件:
- Active Directory 实例,其中所有用户都有一个电邮地址属性。
- Zendesk 实例。
- 运行 Microsoft Server 2012 或 2008 的服务器。本指南使用的是 Server 2012R2 的屏幕截图,但在其他版本上也可以使用类似步骤。
- 用于为 ADFS 登录页面签名的 SSL 证书及其指纹。
- 如果您在 Zendesk 实例中使用主机映射,则需要安装托管 SSL 证书。
此外,您还需要在服务器上安装 ADFS。配置和安装 ADFS 超出了本指南讨论的范围,详见相关 Microsoft 知识库文章。
完全安装 ADFS 后,记下 ADFS Endpoints(终结点)部分中“SAML 2.0/W-Federation”URL 的值。如选择了默认安装,该值为“/adfs/ls/”。
步骤 1 - 添加信赖方信任
此时您应准备好设置与 Zendesk 帐户的 ADFS 连接。ADFS 和 Zendesk 之间的连接使用信赖方信任 (RPT) 定义。
从 AD FS Management(AD FS 管理)选择 Relying Party Trusts(信赖方信任)文件夹,然后从 Actions(操作)侧栏添加一个新的 Standard Relying Party Trust(标准信赖方信任)。这将启动新信任的配置向导。
- 在 Select Data Source(选择数据源)屏幕中,选择最后一个选项:Enter Data About the Party Manually(手动输入信赖方相关数据)。
- 在下一个屏幕上,输入日后可以识别的 Display name(显示名称),以及所需的任何注释。
- 在下一个屏幕上,选择 ADFS FS profile(ADFS FS 个人资料)单选按钮。
- 在下一个屏幕上,将证书设置保留为默认值。
- 在下一个屏幕上,勾选 Enable Support for the SAML 2.0 WebSSO protocol(启用对 SAML 2.0 WebSSO 协议的支持)框。输入服务 URL:https://subdomain.zendesk.com/access/saml,并将其中 subdomain(子域名)替换为您的 Zendesk 子域名。请注意该 URL 结尾没有斜杠。
- 在下一个屏幕上,添加 subdomain.zendesk.com 的 Relying party trust identifier(信赖方信任标识符),并将其中 subdomain(子域名)替换为您的 Zendesk 子域名。
注意: 如果您输入子域名.zendesk.com 后收到请求失败错误,您可能需要以 https://子域名.zendesk.com 或 子域名.zendesk.com/ 的形式输入。 - 在下一个屏幕上,您可以配置多重身份验证,但这超出了本指南讨论的范围。
- 在下一个屏幕上,选择 Permit all users to access this relying party(允许所有用户访问此信赖方)单选按钮。
- 在接下来的两个屏幕上,向导将显示您的设置概览。在最后一个屏幕上,使用 Close(关闭)按钮退出并打开声明规则编辑器。
步骤 2 - 创建声明规则
创建信赖方信任后,您可以创建声明规则,并用向导未设置的次要更改更新 RPT。声明规则编辑器默认在您创建信任后打开。如果您想映射身份验证以外其他值,请参阅我们的相关文档。
- 要创建新规则,单击 Add Rule(添加规则)。创建 Send LDAP Attributes as Claims(以声明方式发送 LDAP 特性)规则。
- 在下一个屏幕上,使用 Active Directory 作为属性存储区,并执行以下操作:
1.从 LDAP Attribute(LDAP 属性)栏中,选择 E-Mail Addresses(电子邮件地址)。
2.从 Outgoing Claim Type(传出声明类型)栏中,选择 E-Mail Address(电子邮件地址)。
- 单击 OK(确定)保存新规则。
- 单击 Add Rule(添加规则)创建其他新规则,这次选择 Transform an Incoming Claim(转换传入声明)作为模板。
- 在下一个屏幕上:
1.选择 E-mail Address(电子邮件地址)作为 Incoming Claim Type(传入声明类型)。
2.对于 Outgoing Claim Type(传出声明类型),选择 Name ID(名称 ID)。
3.对于 Outgoing Name ID Format(传出名称 ID 格式),选择 Email(电子邮件)。
将此规则保留为默认值:Pass through all claim values(传递所有声明值)。
- 最后,单击 OK(确定)以创建声明规则,然后再次单击 OK(确定)以完成规则创建。
步骤 3 - 调整信任设置
您仍需要调整一些信赖方信任的设置。要访问这些设置,选择 RPT 时,从 Actions(操作)侧栏中选择 Properties(属性)。
- 在 Advanced(高级)标签中,务必将 SHA-256 指定为安全哈希算法。
- 在 Endpoints(终结点) 标签中,单击 add SAML(添加 SAML)以添加新终结点。
- 对于 Endpoint type(终结点类型),选择 SAML Logout(SAML 注销)。
- 对于 Binding(绑定),选择 POST(发布)。
- 对于 Trusted URL(受信任的 URL),使用以下部分创建一个 URL:
1.您的 ADFS 服务器网址
2.您之前记下的 ADFS SAML 终结点
3.字符串“?wa=wsignout1.0”
URL 示例如下:https://sso.yourdomain.tld/adfs/ls/?wa=wsignout1.0。
- 单击终结点和 RPT 属性上的 OK(确定)以确认更改。您现在应有一个适用于 Zendesk 的 RPT。
注意:您的 ADFS 实例可能具有安全设置,需要填写并在元数据中发布所有联合身份验证服务属性。请向您的团队核实这是否适用于您的实例。 如果适用,请务必勾选发布联合元数据中的组织信息 框。
步骤 4 - 配置 Zendesk
设置 ADFS 后,您需要将 Zendesk 帐户配置为使用 SAML 进行身份验证。按照启用 SAML 单点登录中的步骤进行操作。您将使用含有 SAML 端点的完整 ADFS 服务器 URL 作为 SSO URL,并使用含有您创建的登录端点的完整 ADFS 服务器 URL 作为退出 URL。指纹则是安装在您的 ADFS 实例中的密钥签名证书的指纹。
您可在已安装证书的系统上运行以下 PowerShell 命令以获取指纹:
C:\> Get-AdfsCertificate [-Thumbprint] []
查找密钥签名类型证书的 SHA256 指纹。
完成后:
- 在管理中心,单击侧栏中的帐户图标 (),然后选择安全 > 单点登录。
页面如下所示:
您现在应有一个适用于 Zendesk 的 ADFS SSO 实施。
切换身份验证方法
重要提示:如果您使用第三方 SSO 方法在 Zendesk 中创建用户并对用户进行身份验证,然后切换到 Zendesk 身份验证,这些用户将没有密码可用于登录。要获得访问权限,用户可在 Zendesk 登录页面重置密码。
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。