此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍在思科统一通信管理(CUCM)、思科统一连接(CUC)、Expressway产品上使用Windows 2012 R2配置使用Active Directory联合身份验证服务(ADFS 3.0)的单点登录的步骤。配置Kerberos的步骤也包含在本文档中。
思科建议您了解单点登录(SSO)和Windows产品。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
在安装ADFS3之前,环境中需要已存在以下服务器角色:
·域控制器和DNS
·所有服务器都必须作为记录和指针记录一起添加(一种将IP地址解析为域或主机名的DNS记录)
在fhlab.com中。hosts cmpubhcsc、cmsubhcsc、cucpubhcsc、cucsubhcsc、exwyc、expwye、impubhcsc和imsubhcsc已添加。
根CA(假设证书将由企业CA签名)
需要根据Web服务器证书模板创建证书模板,前者是重复的、重命名的,在“扩展”(Extensions)选项卡上,“应用策略”(Application Policies)被修改,添加客户端身份验证应用策略(Client Authentication Application Policy)。在实验室环境中,内部CA还可以签署Expressway E证书签名请求(CSR),在签署所有内部证书(CUCM、CUC、IMP和Expressway核心)时,需要使用此模板。
创建的模板需要发布才能签署CSR。
在CA证书Web上,选择之前创建的模板。
CUCM、IMP和CUC多服务器CSR必须由CA生成和签名。证书用途必须是tomcat。
CA根证书必须上传到Tomcat Trust,签名证书必须上传到Tomcat。
IIS
否则,本节将介绍这些角色的安装过程。否则,请跳过此部分,直接从Microsoft下载ADFS3。
安装带DNS的Windows 2012 R2后,将服务器升级到域控制器。
下一个任务是安装Microsoft证书服务。
导航至服务器管理器并添加新角色:
选择Active Directory证书服务角色。
并首先部署这些服务 — 证书颁发机构证书注册策略Web服务。安装这两个角色后,配置它们,然后安装证书注册Web服务和证书颁发机构Web注册。配置它们。
安装证书颁发机构后,还将添加IIS等其他角色服务和功能。
根据部署,您可以选择企业或独立。
对于CA类型,可以选择根CA或从属CA。如果组织中没有其他CA正在运行,请选择根CA。
下一步是为CA创建私钥。
只有在单独的Windows Server 2012上安装ADFS3时,才需要执行此步骤。配置CA后,需要配置IIS的角色服务。在CA上进行Web注册时,这是必需的。对于大多数ADFS部署(即IIS中的额外角色),需要单击“应用程序开发”下的“ASP.NET”。
在“服务器管理器”中,单击“Web服务器”>“IIS”,然后右键单击“默认网站”。绑定需要更改,以便除HTTP外还允许HTTPS。这是为了支持HTTPS。
选择“编辑绑定”。
添加新的“站点绑定”并选择HTTPS作为类型。对于SSL证书,选择应具有与AD服务器相同的FQDN的服务器证书。
所有必备角色都安装在环境中,因此现在您可以继续安装ADFS3 Active Directory联合身份验证服务(在Windows Server 2012上)。
对于“服务器角色”,导航至“服务器管理器”>“管理”>“添加服务器角色和功能”,然后选择Active Directory联合身份验证服务(如果您在客户网络内部的专用LAN上安装IDP)。
安装完成后,您可以从任务栏或开始菜单打开它。
本节将介绍新的独立联合服务器的安装过程,但也可用于在域控制器上安装该服务器
选择Windows并键入AD FS Management以启动ADFS管理控制台,如图所示。
选择AD FS 3.0联合服务器配置向导选项以启动ADFS服务器配置。这些屏幕截图代表AD FS 3中的相同步骤。
选择“创建新联合身份验证服务”并单击“下一步”。
选择Stand-alone Federation Server,然后单击Next(下一步),如图所示。
在SSL证书下,从列表中选择自签名证书。联合身份验证服务名称将自动填充。单击 Next。
查看设置并单击“下一步”以应用设置。
确认所有组件都已成功完成,然后单击关闭以结束向导并返回主管理控制台。这可能需要几分钟。
ADFS现在已有效启用并配置为身份提供程序(IdP)。 接下来,您需要将CUCM添加为可信赖的合作伙伴。在执行此操作之前,您需要先在CUCM管理中执行一些配置。
群集需要与Active Directory进行LDAP集成,并且在进一步配置之前,需要配置LDAP身份验证。导航至系统选项卡> LDAP系统,如图所示。
然后,导航至“系统”选项卡>“LDAP目录”。
在Active Directory用户与CUCM同步后,需要配置LDAP身份验证。
CUCM中的最终用户需要将特定访问控制组分配给其最终用户配置文件。ACG是标准CCM超级用户。当环境就绪时,用户将用于测试SSO。
本节将显示CUCM发布者的流程。
第一项任务是获取CUCM元数据,您需要浏览到URL;https://<CUCM Pub FQDN>:8443/ssosp/ws/config/metadata/sp,或者可以从System选项卡> SAML Single Sign-on下载。这可以按节点或集群范围完成。首选执行此集群范围。
使用有意义的名称(如sp_cucm0a.xml)将数据保存到本地,之后您将需要它。
反向到AD FS 3.0管理控制台。
单击“添加信赖方信任向导”。
单击Start(开始)继续。
选择您之前保存的federationmedata.xml元数据XML文件,然后单击下一步。
使用CUCM_Cluster_Wide_Releing_Party_trust作为显示名称,然后单击Next。
选择第一个选项,然后单击“下一步”。
选择允许所有用户访问此信赖方,然后单击下一步,如图所示。
查看配置并单击Next(如图所示)。
取消选中此框,然后单击“关闭”。
使用鼠标辅助按钮选择您刚创建的信赖方信任和编辑领款申请规则配置,如图所示。
单击Add Rule(添加规则),如图所示。
选择“将LDAP属性作为声明发送”,然后单击“下一步”。
配置以下参数:
领款申请规则名称:名称ID
属性存储:Active Directory(双击下拉菜单箭头)
LDAP属性:SAM帐户名称
传出领款申请类型:uid
单击完成/确定继续。
请注意,uid不是小写的,并且下拉菜单中不存在。键入。
再次单击Add Rule(添加规则)以添加另一个规则。
选择“使用自定义规则发送声明”,然后单击“下一步”。
创建名为Cluster_Side_Claim_Rule的自定义规则。
将此文本直接从此处复制并粘贴到规则窗口中。有时,如果在文本编辑器上编辑引号,则会更改引号,这会使规则在测试SSO时失败:
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 FQDN>/adfs/com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] =
"<CUCM Pub FQDN>");
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://AD.fhlab.com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] =
"cmpubhcsc.fhlab.com");
单击Finish(完成)继续。
现在,您应在ADFS上定义两个规则。单击Apply和OK以关闭规则窗口。
CUCM现在已成功添加为ADFS的可信信赖方。
在继续之前,请重新启动ADFS服务。导航至“开始”菜单>“管理工具”>“服务”。
您需要向CUCM提供有关我们IdP的信息。此信息使用XML元数据交换。确保在安装了ADFS的服务器上执行此步骤。
首先,您需要使用Firefox浏览器连接到ADFS(IdP)以下载XML元数据。打开浏览器到https://<ADFS FQDN>/FederationMetadata/2007-06/FederationMetadata.xml并将元数据保存到本地文件夹。
现在,导航至CUCM配置到系统菜单> SAML单点登录菜单。
反向到CUCM Administration并选择SYSTEM > SAML Single Sign-On。
选择Enable SAML SSO。
单击Continue以确认警告。
在SSO屏幕上,单击“浏览……”以导入之前保存的FederationMetadata.xml元数据XML文件,如图所示。
选择XML文件,然后单击打开,以便从“收藏夹”下的“下载”中将其上传到CUCM。
上传后,点击Import IdP Metadata(导入IdP元数据),将IdP信息导入CUCM。确认导入成功,然后单击“下一步”继续。
选择属于标准CCM超级用户的用户,然后点击RUN SSO TEST。
当显示用户身份验证对话框时,使用适当的用户名和密码登录。
如果所有配置都正确,您应看到一条消息,说SSO测试成功!
单击“关闭”和“完成”继续。
现在,我们已成功完成基本配置任务,以使用ADFS在CUCM上启用SSO。
在Unity Connection中启用SSO时,可遵循相同的流程。
LDAP与CUC集成。
配置 LDAP 验证.
从分配了语音邮件的LDAP导入用户,以及将用于测试SSO的用户。
导航到用户>编辑>角色,如图所示。
为测试用户分配系统管理员的角色。
现在,您应该已经下载了CUC元数据,为CUC创建了RelingPartyTrust,并上传了CUC元数据,并在ADFS 3.0上创建了规则I AD FS
转到SAML单点登录并启用SAML SSO。
打开浏览器到https://<ADFS FQDN>/FederationMetadata/2007-06/FederationMetadata.xml,并将元数据保存到本地文件夹
上传到Configuration > Unified Communications > IDP。
转至配置 — >统一通信 — > IDP ->导出SAML数据
集群模式使用SAML中包含的自签名证书(具有长生命期)
元数据,用于对SAML请求签名
在集群范围模式下,要下载单个集群范围的元数据文件,请点击Download
在每对等模式下,要下载单个对等体的元数据文件,请点击对等体旁边的下载。要在.zip文件中导出所有内容,请点击Download All。
首先,为Expressway Es创建信赖方信任,然后添加声明规则以将身份作为UID属性发送。
在Cisco CUCM企业参数中,启用了使用刷新登录流参数验证OAuth。转到Cisco Unified CM管理>企业参数> SSO和OAuth配置。
SAML是基于XML的开放标准数据格式,使管理员能够在登录到其中一个应用后无缝访问一组定义的思科协作应用。SAML SSO使用SAML 2.0协议为思科协作解决方案提供跨域和跨产品单点登录。
OAuth是支持授权的标准。用户必须经过身份验证才能获得授权。授权码授权流为客户端提供获取访问和刷新令牌以访问资源(Unified CM、IM&P、Unity和Expressway服务)的方法。 此流程也基于重定向,因此要求客户端能够与用户控制的HTTP用户代理(Web浏览器)交互。客户端将使用HTTPS向授权服务器发出初始请求。OAuth服务器将用户重定向到身份验证服务。如果启用了SAML SSO,则此操作可能在Unified CM或外部IdP上运行。根据所使用的验证方法,网页视图可呈现给最终用户以验证自己。(Kerberos身份验证是不显示网页的示例。) 与隐式授权流不同,成功的身份验证代码授权流将导致OAuth服务器向Web浏览器发出“授权代码”。这是一次性、短暂的唯一代码,然后从Web浏览器传回客户端。客户端将此“授权代码”连同预共享密钥一起提供给授权服务器,并接收“访问令牌”和“刷新令牌”交换。此步骤中使用的客户端密钥使授权服务能够将使用限制为仅允许注册和经过身份验证的客户端使用。令牌用于以下目的:
访问令牌:此令牌由授权服务器颁发。当客户端需要访问该服务器上的受保护资源时,会将令牌呈现给资源服务器。资源服务器能够验证令牌并信任使用该令牌的连接。(思科访问令牌默认为60分钟的生命周期)
刷新令牌:授权服务器再次发出此令牌。当访问令牌过期或到期时,客户端将此令牌连同客户端密钥一起呈现给授权服务器。如果刷新令牌仍然有效,则授权服务器将发出新的访问令牌,而无需进行其他身份验证。(思科刷新令牌默认为60天。) 如果刷新令牌已过期,则必须启动新的完整OAuth授权码授权流以获取新令牌。
在隐式授权流中,访问令牌通过HTTP用户代理(浏览器)传递到Jabber客户端。 在授权代码授权流中,访问令牌直接在授权服务器和Jabber客户端之间交换。使用限时唯一授权码从授权服务器请求令牌。这种访问令牌的直接交换更安全,并降低了风险。
OAuth授权代码授予流支持使用刷新令牌。这为最终用户提供了更好的体验,因为他们不需要像以前那样频繁地重新进行身份验证(默认为60天)
Internet信息服务(IIS)管理器>站点>默认网站>身份验证> Windows身份验证>高级设置。
取消选中Enable Kernel-mode authentication。
确保“扩展保护”已关闭。
确保AD FS版本3.0同时支持Kerberos协议和NT LAN Manager(NTLM)协议,因为所有非Windows客户端都无法使用Kerberos并依赖NTLM。
在右窗格中,选择提供程序,并确保协商和NTLM在已启用的提供程序下:
确保选中Internet Explorer > Advanced > Enable Integrated Windows Authentication。
确保此区域的Internet Explorer > Security > Local Intranet > Security Level > Custom Level > User Authentication - Logon > Automatic Logon in Intranet Zone。
Cisco Jabber无需更改配置。如果Unified CM已配置为将SAML SSO与外部IdP配合使用,则可能显示IdP的登录屏幕,而不是Unified CM登录屏幕。
我们在实验室设置期间学到的大部分课程都是。
确保您可以在IE浏览器中使用SSO作为测试Jabber SSO的先决条件,登录CUCM/IM&P。
点击IE的Internet选项,然后导航至Security选项卡。单击本地内联网>站点>高级。将网站添加到区域(即将IDP FQDN添加到站点)。
如果出现此类错误,请执行此操作。
SAML响应无效。当Cisco Unified Communications Manager和IDP服务器之间的时间不同步时,可能会导致此问题。请验证两台服务器上的NTP配置。从CLI运行“utils ntp status”,以在Cisco Unified Communications Manager上检查此状态。如果CUCM和IdP之间的时间不匹配,您将收到以下错误:"SAML响应无效。" 当CUCM和IdP服务器之间的时间不同步时,可能会导致此错误。要使SAML SSO正常工作,必须安装正确的NTP设置,并确保IdP与统一通信应用之间的时间差不超过三秒。
为了确保您的用户不受服务器同步问题的影响,请按照说明在“NotBefore”属性上至少设置两分钟的偏差:
在ADFS中打开Powershell。
在Powershell中运行以下命令,检查当前NotBeforeSkew:
Get-ADFSRelingPartyTrust -identifier "application FQDN"
Get-ADFSRelingPartyTrust -identifier "cmpubhcsc.fhlab.com"
接下来,在Powershell中运行以下命令,将“NotBeforeSkew”设置为3分钟:
Set-ADFSRelingPartyTrust -TargetIdentifier "application FQDN" -NotBeforeSkew 3。
再次运行以下命令,检查新的“NotBeforeSkew”:
Get-ADFSRelingPartyTrust -identifier "cmpubhcsc.fhlab.com"
* NotBeforeSkew现在应设置为"3"。
NOTE:您还必须将元数据从IDP导入SP(即CUCM)。
https://:8443/ssosp/token/revoke?user_id=
https://10.89.228.146:8443/ssosp/token/revoke?user_id=farfar
{"revoked_tokens":{"status":"success","user_id":"farfar","clientID_tokens":
[{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"fa8ff04aabb4a40bc493f810f9fff09a8f735d24fb05df7c9191f294611710a3"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"9ecf6a5092f1167df085f018320e2135b487f585b9cbb3e59474a0643f1a961f"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"30ab864ce41c78b9b4324a46f865dd47add4b16d7717986d715405496119bc87"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"33d025dd7b88fefe99173757a54ada771821d763a23b71cc9ca233e1c91ffd65"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"a5f0d293d3dbbbe4ef1af9379a78df04ed9a168c450de42982e3796cef758c0f"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"252912f2af65346f7ec2887505aef7d0ee2cd918f0253662b9b53ebf45e490e8"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"28c33fcbbc4d47bc6d658855f0699bbe1b3c264c0ed7a04eedc578f6b89fd4de"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"cb5269c40cdf4cc4e2e0a0f520d719851f132691d609ffe65c143952a3f7d2d7"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"acd338a0858c8f140866962e1150bcfd1768b3d8fd959700ed70ea5bff571e83"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"3acee9b52c039e58a0be060c20b8134aea5445ba141d6daedc9fb2366e0eb4d0"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"4a4ac2e56c4663ff20797228b3e67511a56ae3fd1f831303df3642206f8a9742"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"db9ae2351f51e85a01a0dc64b35fa75f052eaa6b3793a29f9dfdb86d589dc97a"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"1118b7fbcaa407541dc8e21ed70ccc581f3e7f58a31fdb94c637d7ac1279a6b8"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"2f33962f1671acc9c7acfb6cff6dff3d9ddf7e2df0a5d7747020347c08e8f18a"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"70a46c24974499c1f87b1b167795c4654460e665f2f5f1696b0a93e2887ae442"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"c05fb1c913a0cbd2984d370365d085ad8315b916a5651511401a695d17129584"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"47ba99793ededfe1cba3f0b83a2738c0a79f1833979ad3c6c362291f92f8fdf8
执行手动LDAP同步或从数据库中删除用户,以立即阻止用户使用Jabber。即使Jabber客户端对CUCM上的UDS服务提供有效访问或刷新令牌,用户也必须在要进行身份验证的CUCM用户数据库中处于“活动”状态。
更改刷新令牌到期计时器企业参数会自动撤销该CUCM群集发出的所有刷新令牌。
Jabber用户被定向到WebEx Connect云进行身份验证,而不是通过本地即时消息和在线状态(IM&P)服务器,或通过为移动和远程访问(MRA)配置的Expressway(协作边缘)。
在Jabber-bootstrap.properties文件中,位于C:\ProgramData\Cisco Systems\Cisco Jabber file we can exclude webex
ServiceDiscoveryExcludedServices:思科网迅
我们确实遇到了SSO失败的情况。在Firefox浏览器上对CUCM执行SSO登录测试时,它被重定向到IdP,输入凭证,但CUCM显示以下错误:
响应中的状态代码无效。这可能是由IDP中的配置错误引起的。请检查IDP日志和配置
在以下位置查看ADFS(即IDP)事件查看器
事件查看器 — >应用和服务日志 — > AD FS ->管理
以下是“错误:
例外详情:
Microsoft.IdentityServer.RequestFailedException:MSIS7066:请求的身份验证失败。—> System.Security.SecurityException:用户名或密码不正确。
挖掘后发现域控制器的管理员凭据已更改,但ADFS服务未更新
打开“服务”配置窗口(在键入服务时,可以从Windows控制面板>管理工具或“开始”菜单访问该窗口)。
查找您的服务(Active Directory联合身份验证服务),然后双击它以打开其属性(或右键单击它并选择属性)。