SAML 认证

SAML 认证

安全断言标记语言(SAML)为在线服务的传统登录方法提供了一种更简便的替代方法。用户不必再为访问的每项服务提供特定密码。ServiceDesk Plus 应用程序支持 SAML 2.0,可从 ESM 目录 >> 用户管理 >> SAML 单点登录进行配置。




SAML 在两个实体(即身份提供商(IdP)和服务提供商(SP))之间交换身份验证和授权数据。

在这里,ServiceDesk Plus 充当了 SP 的角色,集成后,用户无需提供任何登录凭证即可直接从 IdP 登录应用程序。

例如,您可以将 Active Directory 联合服务 (ADFS) 设置为 IdP,允许用户使用其 Active Directory 凭证登录 ServiceDesk Plus。

下面的截图显示了用户如何登录使用 SAML 配置的应用程序。

在 ServiceDesk Plus 中配置 SAML

需要的角色:SDAdmin

  • 转到管理 > 用户和权限 > SAML 单点登录。

  • 在配置选项卡下,启用 SAML 单点登录。

  • SAML 配置页面有三个部分:服务提供商详细信息、身份提供商详细信息和附加要求。

 

 

  • 您可以使用服务提供商详细信息将 ServiceDesk Plus 配置为 IdP 的 SP。

我们已使用 ADFS 3.0、Okta、OneLogin 和 Azure 作为 IdP 对 SAML 2.0 进行了测试。

  • 服务提供商详细信息

 

字段名称

描述

实体 ID

 

使用这些详细信息将 ServiceDesk Plus 配置为 IdP 中的服务提供商。

断言消费者 URL

单一注销服务 URL

SP 证书文件

点击文件下载。在 IdP 门户上传该文件。

SP 元数据文件

在某些 IdP 中,上传元数据文件就能够将 ServiceDesk Plus 配置为 SP。

 

从高级门户设置中变更别名 URL 以及将服务从 http 改为 https 将反映在断言消费者 URL 和单次注销服务 URL 中。您必须通过重新生成 SP 证书,在 SP 和 IdP 门户中重新配置 SAML 身份验证。
  • 将 ServiceDesk Plus 配置为 IdP 中的 SP 后,返回 ServiceDesk Plus 中的 SAML 配置页面并配置身份提供商详细信息和附加声明,如下所述。

  • 身份供应商详细信息

 

字段名称

描述

登录 URL*

输入 IdP 的登录 URL。

注销 URL

输入 IdP 的注销 URL。如果不需要单一注销 (SLO),可以跳过此字段。

名称 ID 格式*

根据您的登录偏好选择名称 ID 格式。

  • 短期或长期 - 使用用户名登录。确保所选格式与 IdP 中的配置相匹配。

  • 电子邮件地址 - 使用电子邮件地址登录。

  • 未指定 - 使用活动目录账户中配置的用户主体名 (UPN) 登录。

算法*

从下拉菜单中选择算法,该算法应与 IdP 中配置的算法相同。

证书

点击选择文件上传 IdP 证书。

必填字段

 

  • 附加声明

通过附加属性,可以为通过 SAML 登录的动态用户创建详细的用户配置文件。如果启用了动态用户添加,则可以从 IdP 导入附加属性。


要导入附加属性,
  • 启用旁边的复选框,选择字段(默认和用户定义)。

  • 指定 IdP 在所选字段中配置的属性名称。 这些详细信息不会用于更新现有的用户配置文件。

  • 最后,点击保存。

 

 

历史选项卡列出了在配置选项卡下进行的所有活动。您可以使用预定义的筛选器查看与特定属性相关的活动。


 使用 SAML 登录 ServiceDesk Plus

启用 SAML 单点登录后,登录页面将显示如下所示。


用户既可以使用本地身份验证(默认已启用)登录,也可以点击登录按钮下方的链接使用 SAML 登录。

如果本地身份验证被禁用,则会显示 IdP 登录页面。

当 IdP 生成的登录名与 ServiceDesk Plus 中用户的登录名不匹配时,

  • 如果启用了动态用户添加,则用户将使用 IdP 生成的登录名和 Active Directory/LDAP 设置中配置的密码重新添加。 

  • 如果禁用动态用户添加,则用户将无法登录 ServiceDesk Plus。



ServiceDesk Plus 支持 SAML 单一注销服务。使用该服务,您可以选择只从 ServiceDesk Plus 注销,或从与 IdP 集成的所有服务中注销。

  • 点击

  • 如果您在 IdP 域中配置了 SAML 注销,您会发现列出了两个选项。

  • 单一注销可单独注销 ServiceDesk Plus 应用程序。

  • 如果选择单一注销 SAML,则会注销与 IdP 集成的所有服务。

故障排除

SAML 故障排除文件   

错误代码

原因

解决方案

4

IdP 证书文件未正确上传。

重新配置 IdP 详情。

8未收到来自 IdP 的 SAML 响应。ServiceDesk Plus 仅支持 POST 绑定方法。确保 IdP 遵循 POST 绑定方法。

10

验证 IdP 注销响应时出错。

参考错误 42、44、50、4 和 36。联系 support@manageengine.cn

21, 22, 23

IdP 响应状态为失败。

按照此处给出的说明重新配置 IdP 详情。

35

IdP 响应未签名。ServiceDesk Plus 只接受已签名的响应。

为 ServiceDesk Plus 配置 IdP 设置,以签署断言和响应。

36

无法验证 SAML 响应中的 IdP 签名。

在 ServiceDesk Plus 的 SAML 配置页面上传正确的 IdP 证书文件。

40

SAML 响应和 ServiceDesk Plus 中的实体 ID 并不相同。

在 IdP 门户中重新配置 SP 详情。

42

SAML 响应和 ServiceDesk Plus 中的实体 ID 并不相同。

在 IdP 门户中重新配置 SP 详情。

 

如果您配置了代理服务器(如 azure 应用代理)来外部化应用程序,请在 server.xml 文件的连接器标记中添加 proxyName="<external_url>" 和 proxyPort="<external_port>" 属性。

 

proxyName 不应包含 (http:// 或 https://) 协议或末尾的斜线(/)。例如 如果外部 URL 是 https://zylker.com,则proxyName 应为 zylker.com。

44

SAML 响应中的发行人字段为空。

联系support@manageengine.cn.

46, 47, 51

由于系统时间戳与标准时间不匹配,SAML 响应将无法验证。

在应用服务器中设置正确的时间和时区。

48

用户配置了断言加密,ServiceDesk Plus 不支持该功能。

在 IDP 中将断言加密改为断言签名,这将对断言进行签名但不加密。

49

SAML 断言中缺少发行人名称。

重新配置 SP 和 IdP。


如果错误仍然存在,请将日志文件发送至 support@manageengine.cn

50

来自 IdP 的 SAML 声明并非针对目标用户/请求人。

使用 SAML 身份验证再次登录。

52 (在 ServiceDesk Plus中)

SAML 响应没有映射到正确的用户,自助服务门户设置中的动态用户添加功能被禁用。

 

如果 ServiceDesk Plus 中不存在用户,请使用 IdP 生成的登录名手动创建新用户。

如果用户已存在于应用程序中,请变更 IdP 门户中的名称 ID 属性,使其与 ServiceDesk Plus 中的登录名相匹配。

 

52 (在资产资源管理器中)

应用程序中没有该用户,或者该用户不是技术人员。

使用 IdP 生成的登录名手动创建新的技术人员,或将请求人变更为技术人员。

53创建用户帐户时出现异常。请与support@manageengine.cn联系,并提供日志文件。

60

未找到用户(在基于电子邮件的 SAML 登录期间)。

如果用户不存在于 ServiceDesk Plus 中且动态用户添加被禁用,请手动创建新用户并配置电子邮件地址。如果启用了动态用户添加,则会自动添加新用户。

如果用户已存在于应用程序中,请配置其电子邮件地址以匹配 ServiceDesk Plus 中的登录电子邮件 ID。

61

禁用用户登录

启用用户登录。

62

登录电子邮件 ID 配置了多个用户。

确保只为一个用户配置了登录电子邮件地址。如果登录电子邮件 ID 被配置为其他用户的主/副电子邮件地址,则会出现此错误。

 

常见问题: 




1. 尽管有有效的登录凭证,但为什么在使用 SAML 登录时,我在 ServiceDesk Plus 中被添加为新用户?

使用 SAML 登录时,IdP 会在 SAML 响应中提供一个登录名。该登录名是根据 IdP 中配置的 NameID 属性生成的。应用程序不会将其与您的凭证进行映射,因为您在 ServiceDesk Plus 中的登录名与 SAML 响应中的登录名不同。现在有两种可能性:

  • 如果启用了动态用户添加,您将被添加为新用户,登录名由 IdP 生成,密码在 Active Directory/LDAP 设置中配置。

  • 如果禁用动态用户添加,则会显示错误消息,您将无法登录 ServiceDesk Plus。

要解决这个问题,请重新配置 IdP 设置,选择正确的姓名ID 属性。


2. 为什么即使配置了 IdP 返回正确的登录名,我还是被添加为一个单独的用户?

如果用户属于某个域,IdP 应返回用户的域名和登录名。

例如,如果 Peter 是 Zylker 域名下的技术人员,登录名是 peter,那么 IdP 应返回 Zylker\peter 作为登录名。

如果上述情况失败,将创建一个新用户。

选择适当的姓名ID 属性并重新配置 IdP 就可以解决这个问题。


3. 启用 SAML 后,如何解决登录页面的对齐问题(如下图所示)?


  • 转到管理 >> 自助服务门户设置。 

  • 点击登录页面定制下的立即自定义。

在 HTML 编辑器中,添加截图所示的类。这些类也可在 <server_home>\custom\login\default.html 下使用

 .sign-line{  

  text-align: center; 

  display: block; 

  border-bottom: 1px solid #ccc; 

  margin:10px 0; 

 } 

 .or-ctr{ 

  background: #fff; 

  position: relative; 

  top: 8px; 

  padding: 0 4px; 

  font-size: 12px; 

  color: #727272; 

 } 

 .sign-saml{ 

  color: #009adb; 

  text-decoration: none; 

 } 

 

  • 点击保存,然后查看链接是否已对齐。