目录

简介

先决条件

要求

使用的组件

背景信息

SSO概述

配置概述

配置

身份验证类型

建立信任关系

ADFS 2.0

ADFS 3.0

为信赖方信任启用已签名的SAML断言（思科Id）

用于联合ADFS的多域配置

联合ADFS配置

主ADFS配置

ADFS自动证书滚动更新

Kerberos身份验证（集成Windows身份验证）

Microsoft Internet Explorer的IWA支持配置

用于IWA支持的Mozilla Firefox所需的配置

用于IWA支持的Google Chrome所需的配置

SSO的进一步配置

验证

故障排除

UCCX SSO旁路/恢复URL

禁用SSO

屏幕截图

CCX管理 — 非SSO

CCX管理 — 启用SSO

Finesse登录 — 非SSO

Finesse登录 — 启用SSO

CUIC — 非SSO

CUIC — 启用SSO

简介

本文档介绍为思科身份服务(IdS)配置身份提供程序(IdP)以启用单点登录(SSO)。

先决条件

要求

Cisco 建议您了解以下主题：

- Cisco Unified Contact Center Express(UCCX)版本11.5或Cisco Unified Contact Center Enterprise版本11.5或Packaged Contact Center Enterprise(PCCE)版本11.5（如果适用）

- Microsoft Active Directory - Windows Server上安装的AD

- Active Directory联合身份验证服务(ADFS)版本2.0/3.0

注意：本文档在屏幕截图和示例中引用了UCCX，但配置与Cisco IdS(UCCX/UCCE/PCCE)和IdP类似。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

思科IdS部署模式

产品

部署

UCCX

并存

PCCE

与CUIC(Cisco Unified Intelligence Center)和LD（实时数据）共存

UCCE

与CUIC和LD共存，进行2000部署。

独立式，适用于4k和12k部署。

SSO概述

思科以不同的形式提供多种服务，作为最终用户，您只需要登录一次即可访问所有思科服务。如果您希望从任何思科应用和设备查找和管理联系人，请利用所有可能的来源（企业目录、Outlook、移动联系人、Facebook、LinkedIn、历史记录），并以标准且一致的方式呈现这些联系人，从而提供所需信息来了解其可用性以及联系的最佳方式。

使用SAML（安全断言标记语言）的SSO满足此要求。SAML/SSO使用户能够通过称为IdP的通用帐户和授权身份登录多个设备和服务。SSO功能在UCCX/UCCE/PCCE 11.5及以上版本中可用。

配置概述

配置

身份验证类型

Cisco IdS仅支持IdP的基于表单的身份验证。

请参阅这些MSDN文章以了解如何在ADFS中启用表单身份验证。

- 有关ADFS 2.0的信息，请参阅此Microsoft TechNet文章，

http://social.technet.microsoft.com/wiki/contents/articles/1600.ad-fs-2-0-how-to-change-the-local-authentication-type.aspx。

- 有关ADFS 3.0的信息，请参阅此Microsoft TechNet文章，

https://learn.microsoft.com/en-us/archive/blogs/josrod/enabled-forms-based-authentication-in-adfs-3-0

注意:Cisco IdS 11.6及更高版本支持基于表单的身份验证和Kerberos身份验证。 要使Kerberos身份验证生效，必须禁用基于表单的身份验证。

建立信任关系

对于自注册，为了使应用程序能够使用思科ID进行SSO，请在IdS和IdP之间执行元数据交换。

- 下载SAML SP元数据文件  sp.xml.

- 从 Settings，导航至 IdS Trust 选项卡。

- 从URL的IdP下载IdP元数据文件：

https://<ADFSServer>/federationmetadata/2007-06/federationmetadata.xml

- 在“IdS管理”(IdS Management)页面上，上传在上一步中下载的IdP元数据文件。

这是上传IdS元数据和添加声明规则的过程。这在ADFS 2.0和3.0中进行了概述。

ADFS 2.0

步骤1:在ADFS服务器中，导航到， Start > All Programs > Administrative Tools > ADFS 2.0 Management,如图所示:

第二步：导航至 Add ADFS 2.0 > Trust Relationship > Relying Party Trust,如图所示:

第三步：如图所示，选择选项 Import data about the relying party from a file.

第四步：完成信赖方信任的建立。

第五步：在信赖方信任的属性中，选择 Identifier 选项卡。

第六步：将标识符设置为Cisco Identity Server的完全限定主机名，Cisco Identity Server可从其获得sp.xml 已下载。

步骤 7.右键单击“信赖方信任”，然后单击 Edit Claim Rules.

必须添加两个声明规则，一个是匹配LDAP（轻量级目录访问协议）属性，另一个是通过自定义声明规则。

uid — 应用程序需要此属性以标识经过身份验证的用户。

user_principal - Cisco ID需要此属性以标识经过身份验证的用户的领域。

领款申请规则1:

按名称添加规则 NameID 类型（将LDAP属性的值作为声明发送）：

- 选择属性存储作为Active Directory

- 映射LDAP属性 User-Principal-Name 到 user_principal （小写）

- 选择必须用作 userId 以便登录并将其映射到 uid （小写）

配置示例 SamAccountName 将用作用户ID:

- 映射LDAP属性 SamAccountName 到 uid.

- 映射LDAP属性 User-Principal-Name 到 user_principal.

配置示例 UPN 必须用作用户ID:

- 映射LDAP属性 User-Principal-Name 到 uid.

- 映射LDAP属性 User-Principal-Name 到 user_principal.

配置示例 PhoneNumber 必须用作用户ID:

- 将LDAP属性telephoneNumber映射到 uid .

- 映射LDAP属性 User-Principal-Name 到 user_principal.

注：您必须确保为CUCM LDAP同步上的用户ID配置的LDAP属性与配置为LDAP属性的 uid 在ADFS声明规则中 NameID.这是为了使CUIC和Finesse登录正常工作。

注意：本文档引用声明规则名称的限制条件，并显示UCCX的NameID、完全限定域名(FQDN)等名称。虽然自定义字段和名称可以适用于各个部分，但声明规则名称和显示名称始终是标准名称，以保持一致性和符合命名规范中的最佳实践。

领款申请规则2:

- 添加另一个自定义声明规则类型的规则，该规则的名称是Cisco Identity Server的完全限定主机名，并添加此规则文本。

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://<ADFS Server FQDN>/ADFS/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "<fully qualified hostname of IdS/UCCX>");

- 在思科身份服务器集群中，所有完全限定主机名都是思科身份服务器主节点或发布方节点的主机名。

- <Fully qualified hostname of Cisco Identity Server>区分大小写，因此它与Cisco Identity Server FQDN完全匹配（包括大小写）。

- <ADFS Server FQDN>区分大小写，因此它与ADFS FQDN完全匹配（包括大小写）。

步骤 8右键单击“信赖方信任”，然后单击 Properties 并选择“高级”选项卡，如图所示。

步骤 9如图所示，选择Secure Hash Algorithm(SHA)作为SHA-256。

步骤 10点击 OK.

ADFS 3.0

步骤1:在ADFS服务器中，导航至 Server Manager > Tools > ADFS Management.

第二步：导航至 ADFS > Trust Relationship > Relying Party Trust.

第三步：选择选项 Import data about the relying party from a file.

第四步：完成信赖方信任的建立。

第五步：在信赖方信任的属性中，选择 Identifier 选项卡。

第六步：将标识符设置为Cisco Identity Server的完全限定主机名，Cisco Identity Server可从其获得sp.xml 已下载。

步骤 7.右键单击“信赖方信任”，然后单击 Edit Claim Rules.

必须添加两个声明规则，一个是匹配LDAP属性，另一个是通过自定义声明规则。

uid — 应用程序需要此属性来标识经过身份验证的用户。

user_principal - Cisco ID需要此属性以标识经过身份验证的用户的领域。

领款申请规则1:

按名称添加规则 NameID 类型（将LDAP属性的值作为声明发送）：

- 选择属性存储作为Active Directory

- 映射LDAP属性 User-Principal-Name 到 user_principal （小写）

- 选择必须用作 userId 以便应用用户登录并将其映射到 uid（小写）

配置示例 SamAccountName 将用作用户ID:

- 映射LDAP属性 SamAccountName 到 uid.

- 映射LDAP属性 User-Principal-Name 到 user_principal.

UPN必须用作用户ID时的配置示例：

- 映射LDAP属性 User-Principal-Name 到 uid.

- 映射LDAP属性 User-Principal-Name 到 user_principal.

配置示例 PhoneNumber 必须用作用户ID:

- 映射LDAP属性 telephoneNumber 到 uid.

- 映射LDAP属性 User-Principal-Name 到 user_principal.

注：您必须确保为CUCM LDAP同步上的用户ID配置的LDAP属性与配置为LDAP属性的 uid 在ADFS声明规则名称ID中。这用于CUIC和Finesse登录的正确功能。

注：本文档引用了声明规则名称和显示名称（如NameID、UCCX的FQDN等）上的限制。虽然自定义字段和名称可以在各个部分应用，但声明规则名称和显示名称始终是标准名称，以便保持一致性和符合命名规范中的最佳实践。

领款申请规则2:

- 添加另一个自定义声明规则类型的规则，该规则的名称是Cisco Identity Server的完全限定主机名，并添加此规则文本。

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://<ADFS Server FQDN>/ADFS/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "<fully qualified hostname of IdS/UCCX>");

- 在思科身份服务器集群中，所有完全限定主机名都是思科身份服务器主节点或发布方节点的主机名。

- <Fully qualified hostname of Cisco Identity Server>区分大小写，因此它与Cisco Identity Server FQDN完全匹配（包括大小写）。

- <ADFS Server FQDN>区分大小写，因此它与ADFS FQDN完全匹配（包括大小写）。

步骤 8右键单击“信赖方信任”，然后单击 Properties 并选择 advanced 选项卡。

步骤 9如图所示，选择SHA作为SHA-256。

步骤 10点击 OK.

这些步骤在第10步之后是强制性的。

为信赖方信任启用已签名的SAML断言（思科Id）

步骤1:点击 Start 并输入PowerShell以打开windows powershell。

第二步：使用命令将ADFS CmdLet添加到PowerShell Add-PSSnapin Microsoft.Adfs.Powershell.

第三步：运行命令， Set-ADFSRelyingPartyTrust -TargetName

-SamlResponseSignature "MessageAndAssertion"

.

注意：如果使用ADFS 3.0，则不需要步骤2。因为CmdLet已作为角色和功能添加的一部分进行安装。

注:

区分大小写，因此它与“信赖方信任”属性的“标识符”(Identifier)选项卡中设置的内容匹配（包括大小写）。

注：从UCCX版本12.0开始，Cisco IdS支持SHA-256。信赖方信任使用SHA-256签署SAML请求，并期望从ADFS获得相同的响应。

用于联合ADFS的多域配置

在ADFS中的联合情况下，特定域中的ADFS为其他已配置域中的用户提供联合SAML身份验证，需要额外的配置。

在本节中，术语“主ADFS”是指必须在IdS中使用的ADFS。术语“联合ADFS”表示这些ADFS，其用户可以通过IdS登录，从而成为主要ADFS。

联合ADFS配置

在每个联合ADFS中，必须为主要ADFS和索赔规则（如上一节所述）创建信赖方信任。

主ADFS配置

对于主ADFS，除了IdS的信赖方信任外，还需要此额外配置。

Add（添加） Claim Provider Trust ADFS，联合必须设置到。

在声明提供程序信任中，确保 Pass through or Filter an Incoming Claim 将规则配置为传递所有声明值作为选项：

- 名称ID

- 从中选择名称ID Incoming Claim Type 收存箱

- 选择 Transient 作为传入NameID格式的选项

- uid：这是自定义声明。输入值uid Incoming Claim Type 收存箱

- user_principal：这是一个自定义声明。在user_principal字段中键入值 Incoming Claim Type 收存箱

在Id的信赖方信任中，添加 Pass though or Filter an Incoming Claim 以传递所有声明值作为选项的规则。

- 名称IDFromSubdomain

- 从中选择名称ID Incoming Claim Type 收存箱

- 选择 Transient 作为传入NameID格式的选项

- uid：这是自定义声明。键入值uid Incoming Claim Type 收存箱

- user_principal：这是一个自定义声明。在user_principal字段中键入值 Incoming Claim Type 收存箱

ADFS自动证书滚动更新

UCCX 11.6.1及更高版本支持自动证书滚动。(UCCX 11.6中的Fedlet库升级到版本14.0解决了此问题。)

Kerberos身份验证（集成Windows身份验证）

集成的Windows身份验证(IWA)为用户提供身份验证机制，但不允许通过网络传输凭证。当您启用集成的Windows身份验证时， 基于票证工作，以允许节点在非安全网络上通信，从而以安全的方式证明其相互身份。它允许用户在登录到其Windows计算机后登录到域。

注意：仅从11.6及更高版本支持Kerberos身份验证。

已登录到域控制器(DC)的域用户可无缝登录到SSO客户端，而无需重新输入凭证。对于非域用户，IWA将回退到新技术局域网管理器(NTLM)，并显示登录对话框。使用IWA身份验证的IdS的限定是使用Kerberos对ADFS 3.0执行的。

步骤1:打开Windows命令提示符并以管理员用户身份运行，以便向注册HTTP服务 setspn 命令 setspn -s http/

\

.

第二步：禁用表单身份验证并启用内部网站点的Windows身份验证。导航至 ADFS Management > Authentication Policies > Primary Authentication > Global Settings > Edit.在Intranet下，确保只选中Windows身份验证(取消选中Form Authentication)。

Microsoft Internet Explorer的IWA支持配置

步骤1: 确保 Internet Explorer > Advanced > Enable Integrated Windows Authentication 已选中。

第二步： 必须将ADFS URL添加到 Security > Intranet zones > Sites  (winadcom215.uccx116.com 是ADFS URL)。

第三步： 确保Internet Explorer > Security > Local Intranet > Security Settings > User Authentication - Logon  配置为使用内部网站点的登录凭证。

用于IWA支持的Mozilla Firefox所需的配置

步骤1:进入Firefox的配置模式。打开Firefox并输入 about:config  的URL。接受风险陈述。

第二步：搜索 ntlm  并启用 network.automatic-ntlm-auth.allow-non-fqdn  并将其设置为true。

第三步：设置 network.automatic-ntlm-auth.trusted-uris  或明确指定ADFS URL。

用于IWA支持的Google Chrome所需的配置

Windows中的Google Chrome使用Internet Explorer设置，因此在Internet Explorer中进行配置 Tools > Internet Options 对话框，或从“控制面板”下的 Internet Options 在子类别内 Network and Internet.

SSO的进一步配置

本文档从SSO的IdP方面描述了用于与Cisco IdS集成的配置。有关详细信息，请参阅各个产品配置指南：

- UCCX

- UCCE

- PCCE

验证

此过程用于确定是否在Cisco IdS和IDP之间正确建立了信赖方信任。

- 从浏览器输入URL https://<ADFS_FQDN>/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=<IDS_FQDN>

- ADFS提供登录表单。当上述配置正确时，此选项可用。

- 成功进行身份验证后，浏览器必须重定向至https://<IDS_FQDN>:8553/ids/saml/response，此时将显示检查表页面。

注：作为验证流程的一部分显示的“核对清单”页面不是错误，而是确认信任已正确建立。

故障排除

有关故障排除信息，请参阅https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-express/200662-ADFS-IdS-Troubleshooting-and-Common-Prob.html。

UCCX SSO旁路/恢复URL

- Cisco Unified CCX管理

- Cisco Unified CCX可维护性

禁用SSO

- GUI：导航至 CCX Administration > Single Sign-On (SSO) > Disable.

- CLI： set authmode non_sso (此命令必须禁用Pub和Sub的SSO — 如果出现高可用性(HA)集群，可从UCCX节点上的任一节点执行)。

屏幕截图

CCX管理 — 非SSO

CCX管理 — 启用SSO

Finesse登录 — 非SSO

Finesse登录 — 启用SSO

CUIC — 非SSO

CUIC — 启用SSO