单点登录和 Webex Control Hub

单点登录 (SSO) 是一种会话或用户验证的流程,允许用户通过提供凭证来访问一个或多个应用程序。 此流程能够为用户已获得授权的所有应用程序验证用户。 这样用户在特定会话期间切换应用程序时,不会再看到额外提示。

安全断言标记语言 (SAML 2.0) 联合协议用于提供 Cisco Webex 云与您的身份提供程序 (IdP) 之间的 SSO 验证。

档案

Cisco Webex Teams 仅支持 Web 浏览器 SSO 档案。 在 Web 浏览器 SSO 档案中,Cisco Webex Teams 支持下列绑定:

  • SP 发起的 POST->POST 绑定

  • SP 发起的 REDIRECT->POST 绑定

NameID 格式

为了传达关于特定用户的信息,SAML 2.0 协议支持多种 NameID 格式。 Cisco Webex Teams 支持以下 NameID 格式。

  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

在您从 IdP 加载的元数据中,第一个条目是为在 Cisco Webex 中使用而配置的。

单点注销

Cisco Webex Teams 支持单点注销档案。 当用户在 Cisco Webex Teams 应用程序中注销时,系统会使用 SAML 单点注销协议结束会话并与您的 IdP 确认该注销操作。 请确保您的 IdP 经过单点注销配置。

集成 Cisco Webex Control Hub 与 ADFS


配置指南给出了 SSO 集成的特定示例,但没有提供针对所有可能性的详细配置。 例如,记录了 nameid-format urn:oasis:names:tc:SAML:2.0:nameid-format:transient 的集成步骤。 其他格式如 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 或 urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 也适用于 SSO 集成,但不在我们的文档范围内。

为 Cisco Webex 组织中的用户设置此集成(包括 Cisco Webex Teams、Cisco Webex Meetings 以及 Cisco Webex Control Hub 中管理的其他服务)。 如果 Webex 站点集成在 Cisco Webex Control Hub 中,Webex 站点会继承用户管理。 如果您无法用这种方式访问 Cisco Webex Meetings,且其不受 Cisco Webex Control Hub 管理,则必须另外执行集成来为 Cisco Webex Meetings 启用 SSO。 (请参阅配置 Webex 的单点登录了解站点管理中 SSO 集成的更多信息。)

根据在 ADFS 的验证机制中配置的内容,缺省情况下可以启用集成 Windows 验证(IWA)。 如果启用,通过 Windows 启动的应用程序(例如 Webex Teams 和 Cisco 目录连接器)就会以已登录用户的身份验证,而与初始电子邮件提示过程中输入的电子邮件地址无关。

将 Cisco Webex 元数据下载到本地系统

1

https://admin.webex.com 中的客户视图,转至设置,然后滚动到验证

2

单击修改,单击集成第三方身份提供程序。 (高级),然后单击下一步

3

下载元数据文件。

Cisco Webex 元数据文件名为 idb-meta-<org-ID>-SP.xml

在 ADFS 中安装 Cisco Webex 元数据

开始之前

Cisco Webex Control Hub 支持 ADFS 2.x 或更高版本。

Windows 2008 R2 只包括 ADFS 1.0。 您必须从 Microsoft 安装版本至少为 2.x 的 ADFS。

对于 SSO 和 Cisco Webex 服务,身份提供程序 (IdP) 必须符合下列 SAML 2.0 规范:

  • 将“NameID 格式”属性设置为 urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • 配置 IdP 声明,包括 uid 属性名称,其值要映射到在 Cisco 目录连接器中选择的属性或者映射到用户属性,而用户属性应与 Cisco Webex 身份服务中选择的用户属性匹配。 (例如,该属性可以是电子邮件地址,也可以是用户主体名称。) 请参阅 https://www.cisco.com/go/hybrid-services-directory 中的自定义属性信息获取指导。

1

使用具有管理员权限的凭证登录 ADFS 服务器。

2

打开 ADFS 管理控制台,浏览至信任关系 > 依赖方信任 > 添加依赖方信任

3

从“添加依赖方信任向导”窗口中选择“开始”。

4

选择数据源步骤中,选择通过文件导入依赖方数据,然后浏览至您下载的 Cisco Webex Control Hub 元数据文件,选择下一步

5

指定显示名称步骤中,为该依赖方信任创建显示名称,例如 Cisco Webex,然后选择下一步

6

选择颁发授权规则步骤中,选择允许所有用户访问该依赖方,然后选择下一步

7

可以添加信任步骤中,选择下一步,完成向 ADFS 添加依赖方信任的操作。

创建声明规则以允许从 Cisco Webex 进行验证

1

在 ADFS 主面板中,选择您创建的信任关系,然后选择编辑声明规则。 从“颁发转换规则”标签页中,选择“添加规则”。

2

在“选择规则类型”步骤中,选择“以声明形式发送 LDAP 属性”,然后选择“下一步”。

  1. 输入“声明规则名称”。

  2. 选择 Active Directory 作为“属性存储库”。

  3. 将 LDAP 属性“电子邮件地址”映射到“uid”出站声明类型。

    此规则告诉 ADFS 将哪些字段映射到 Cisco Webex 以识别用户。 出站声明类型的拼写要与显示的完全相同。

  4. 保存更改。

3

再次选择添加规则,选择使用自定义规则发送声明,然后选择下一步

此规则用于为 ADFS 提供“spname qualifier”属性,而 Cisco Webex 不提供这一属性。

  1. 打开您的文本编辑器,复制下列内容。

    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"] = "<!--SajanXliffTagPlaceHolder:1:SajanXliffTagPlaceHolder-->URL1<!--SajanXliffTagPlaceHolder:2:SajanXliffTagPlaceHolder-->", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "<!--SajanXliffTagPlaceHolder:3:SajanXliffTagPlaceHolder-->URL2<!--SajanXliffTagPlaceHolder:4:SajanXliffTagPlaceHolder-->");

    按如下所示替换这段文本中的 URL1 和 URL2:
    • URL1 是您下载的 ADFS 元数据文件中的 entityID。

      例如,以下就是您看到的内容示例: <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://ad0a.identitylab20.ciscolabs.com/adfs/services/trust" ID="_55515dde-8147-4183-8a85-b704d26b5dba">

      仅复制 ADFS 元数据文件中的 entityID,将它粘贴到文本文件中以替换 URL1

    • URL2 出现在您下载的 Cisco Webex 元数据文件的第一行。

      例如,以下就是您看到的内容示例: <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID=" https://idbroker.webex.com/35a15b0a-0eg1-4029-9f63-a8c54df5df59">

      仅复制 Cisco Webex 元数据文件中的 entityID,将它粘贴到文本文件中以替换 URL2。

  2. 完成 URL 的更新后,从文本编辑器中复制该规则(从“c:”处开始),然后将它粘贴到 ADFS 服务器上的自定义规则框中。

    完整的规则应类似以下示例:
  3. 选择“完成”以创建该规则,然后退出“编辑声明规则”窗口。

4

选择主窗口中的“依赖方信任”,然后选择右侧面板中的“属性”。

5

当“属性”窗口显示时,浏览至高级标签页,选择 SHA-256,然后选择确定保存更改。

6

在内部 ADFS 服务器上浏览至以下 URL 来下载文件: https://<AD_FS_Server>/FederationMetadata/2007-06/FederationMetadata.xml


 

您可能需要右键单击该页面并查看页面源代码,才能得到正确格式的 XML 文件。

7

在本地计算机上保存文件。

下一步做什么

您现在已准备就绪,可以从管理门户将 ADFS 元数据重新导入到 Cisco Webex 中。

导入 IdP 元数据并在测试后启用单点登录

导出 Cisco Webex 元数据,配置 IdP,并将 IdP 元数据下载到本地系统后,您便准备就绪,可以从 Control Hub 将该元数据导入到 Cisco Webex 组织中。

开始之前

请勿从身份提供程序 (IdP) 界面测试 SSO 集成。 我们仅支持服务商启动(SP 启动)的流程,因此您必须将 Control Hub SSO 测试用于此集成。

1

选择一种:

  • 回到浏览器中的“Cisco Webex Control Hub - 导出目录元数据”页面,然后单击下一步
  • 如果 Control Hub 在浏览器标签页中不再是打开状态,请依次从 https://admin.webex.com 中的客户视图转至设置,滚动至验证,选择集成第三方身份提供程序(高级),然后在受信任元数据文件页面中单击下一步(因为您之前已完成)。
2

在“导入 IdP 元数据”页面中,将 IdP 元数据文件拖放到该页面,或使用文件浏览器选项来找到和上传该元数据文件。 单击下一步

如果元数据未签名、使用自签名证书签名或由私有企业证书颁发机构 (CA) 签名,我们建议您使用要求在元数据中使用由证书颁发机构签名的证书(安全级别较高)。 如果是自签名证书,您需要选择安全级别较低的选项。

3

选择测试 SSO 连接,当新的浏览器标签页打开时,登录并使用 IdP 进行验证。


 

如果您收到验证错误,可能是凭证有问题。 请检查用户名和密码并重试。

Webex Teams 错误往往意味着 SSO 设置有问题。 在此情况下,请再检查一遍操作步骤,特别是将 Control Hub 元数据复制粘贴到 IdP 设置中的步骤。

4

返回到 Control Hub 浏览器标签页。

  • 如果测试成功,选择“测试成功”。 启用“单点登录”选项并单击“下一步”。
  • 如果测试失败,选择“测试失败”。 禁用“单点登录”选项并单击“下一步”。

下一步做什么

您可以按照阻止自动电子邮件中的过程禁用发送给组织中新 Webex Teams 用户的电子邮件。 文档中还包含向组织中用户发送通信的最佳实践。

在 AD FS 中更新 Cisco Webex 依赖方信任

此任务专门用于从 Cisco Webex 更新带有新 SAML 元数据的 AD FS。 如果您需要 使用 AD FS 配置 SSO,或者需要为 新的 Webex SSO 证书更新 SAML 元数据,则会出现相关文章

开始之前

您需要先导出 Control Hub 中的 SAML 元数据文件,然后才能更新 AD FS 中的 Cisco Webex 信赖方信任。

1

使用具有管理员权限的凭证登录 AD FS 服务器。

2

将 SAML 元数据文件从 Webex 上传到 AD FS 服务器上的临时本地文件夹(例如)。 ADFS_servername<org-ID>/temp/idb-meta--SP

3

打开 Powershell。

4

运行 Get AdfsRelyingPartyTrust 以读取所有依赖方信任。

请注意 Cisco Webex 信赖方信任的 TargetName 参数。 我们使用了示例 "Cisco Webex",但它在您的 AD FS 中可能会有所不同。

5

运行 更新-AdfsRelyingPartyTrust-MetadataFile "//ADFS_servername/temp/idb-meta-<org-ID>-SP"-TargetName "Cisco Webex"

请确保将文件名和目标名称替换为您环境中的正确值。

请参阅https://docs.microsoft.com/powershell/module/adfs/update-adfsrelyingpartytrust
6

登录 Control Hub,然后测试 SSO 集成:

  1. 转至 设置,滚动至 验证,单击 修改

  2. 选择 集成第三方身份提供程序(高级) ,然后单击 下一步

  3. 单击 下一步 跳过导入 IdP 元数据页。

    您不需要重复该步骤,因为之前已导入 IdP 元数据。

  4. 单击 测试 SSO 连接

    将打开一个新的浏览器窗口,将您重定向至 IdP 质询页。

  5. 登录以完成测验。

ADFS 疑难解答

Windows 日志中的 ADFS 错误

在 Windows 日志中,您可能会看到 ADFS 事件日志错误代码 364。 事件详细信息指出证书无效。 在此类情况下,表示不允许 ADFS 主机通过防火墙端口 80 验证证书。

联合标识

“联合标识”区分大小写。 如果这是组织的电子邮件地址,请确保输入的值与 ADFS 发送的完全相同,否则 Cisco Webex 无法找到匹配的用户。

无法编写自定义声明规则,以在 LDAP 属性发送前对其进行规范化处理。

从您在环境中设置的 AD FS 服务器导入元数据。

如有必要,您可以验证 URL:在“AD FS 管理”中导航至服务 > 终端 > 元数据 > 类型:联合元数据

时间同步

确保您的 ADFS 服务器的系统时钟已经同步到使用网络时间协议 (NTP) 的可靠因特网时间源。 请使用以下 PowerShell 命令来调整时钟偏移(仅适用于 Cisco Webex 依赖方信任关系)。

Set-ADFSRelyingPartyTrust -TargetIdentifier "https://idbroker.webex.com/$ENTITY_ID_HEX_VALUE" -NotBeforeSkew 3

此十六进制值对于您的环境而言是唯一的。 请将该值替换为 Cisco Webex 元数据文件中 SP EntityDescriptor ID 值。 例如:

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID=" https://idbroker.webex.com/c0cb726f-a187-4ef6-b89d-46749e1abd7a">