SAML 使用 Azure AD 和 AAD 身份进行工作区身份验证
本文介绍如何使用 Azure Active Directory (AD) 身份而不是 AD 身份为工作区身份验证配置 SAML。如果您的 Azure AD 用户在使用默认 SAML 行为登录 Citrix Workspace 后无法枚举 Windows 365 云电脑或已加入 Azure AD 域的 VDA,请使用此配置。完成配置后,您的用户可以使用 SAML 身份验证登录 Citrix Workspace,通过 Citrix DaaS 同时访问 HDX 应用程序和桌面,通过 Azure 访问 Windows 365 云电脑。
Citrix Cloud 和 Citrix Workspace 的 SAML 身份验证的默认行为是根据 AD 用户身份进行断言。对于本文中描述的配置,需要使用 Azure AD Connect 将您的 AD 身份导入 Azure AD。AD 身份包含用户的 SID,Citrix Workspace 可以将其发送到 Citrix DaaS,并允许枚举和启动 HDX 资源。由于使用了 Azure AD 版本的用户身份,因此用户还可以从 Citrix Workspace 中枚举和启动 Azure 资源,例如 Windows 365 云电脑。
重要提示:
枚举是指用户登录 Citrix Workspace 后看到的资源列表。允许给定用户访问的资源取决于他们的用户身份以及在 Citrix DaaS 中与该身份关联的资源。有一篇相关文章提供了有关使用 Azure AD 和 AD 身份作为 SAML 提供程序在 Workspace 中进行身份验证的说明。您可以在 SAML 中找到使用 Azure AD 和 AD 身份进行 Workspace 身份验证的详细说明
功能范围
本文适用于使用以下 Citrix Cloud 和 Azure 功能组合的用户:
- 用于工作区身份验证的 SAML
- 使用加入了 AD 域的 VDA 发布的 Citrix DaaS 和 HDX 资源枚举
- Azure AD 加入域的 VDA 资源枚举
- Azure 混合域加入的 VDA 资源枚举
- W365 Cloud PC 枚举和启动
重要提示:
请勿使用此 AAD SAML 流程进行 SAML 登录到 Citrix Cloud,因为这要求 Citrix Cloud 管理员用户是 AD 组的成员,因此应使用 AD 用户身份。您可以在 SAML 中找到使用 Azure AD 和 AD 身份进行 Workspace 身份验证的详细说明
哪个最好:AD 身份还是 Azure AD 身份
要确定您的工作区用户应该使用 SAML AD 还是 SAML Azure AD 身份进行身份验证,请执行以下操作:
- 决定您打算在 Citrix Workspace 中向用户提供哪种资源组合。
-
使用下表来确定哪种类型的用户身份适合每种资源类型。
资源类型 (VDA) 登录 Citrix Workspace 时的用户身份 需要使用 Azure AD 的 SAML 身份吗? FAS 提供对 VDA 的单点登录 (SSO) 吗? 已加入 AD AD,从 AD 导入的 Azure AD(包含 SID) 否。使用默认 SAML。 是 混合加入 AD,从 AD 导入的 Azure AD(包含 SID) 否。使用默认 SAML。 是的,对于 AD 作为身份提供商。如果为 VDA 选择了 Azure AD,则不需要 FAS。 已加入 Azure AD Azure AD 本机用户,从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 SSO 可与 Azure AD 新式验证配合使用。不需要 FAS。 Windows 365 云电脑 Azure AD 本机用户,从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 SSO 可与 Azure AD 新式验证配合使用。不需要 FAS。 已加入 AD,已加入 Azure AD,Windows 365 云电脑 从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 是的,对于 AD 已加入。不是,适用于已加入 Azure AD 和 Windows 365 云电脑。
更多信息
- Citrix DaaS 文档:
- Citrix FAS 文档:安装和配置
- Microsoft Azure 文档:Azure AD Connect 是什么?
要求
-
您的 Azure AD 租户必须连接到您的 Citrix Cloud 租户。在 Citrix Cloud 控制台中,您可以通过选择“身份和访问管理”>“身份验证”来找到您的 Azure AD 连接。
- 工作区身份验证方法必须设置为 SAML 2.0。请勿使用 Azure AD 作为身份验证方法。要更改 Workspace 身份验证方法,请转到 Citrix Cloud 控制台中的 Workspace 配置 > 身份验证。
- 必须将 UPN 后缀
@yourdomain.com
作为自定义域名导入并在 Azure AD 中进行验证。在 Azure 门户中,它位于 Azure Active Directory >“自定义域名”下。 - Azure AD 用户身份必须使用 Microsoft Azure AD Connect 从 AD 导入。这样可以确保正确导入用户身份并具有正确的 UPN 后缀。不支持带有
@yourtenant.onmicrosoft.com
UPN 后缀的 Azure AD 用户。 - 必须部署 Citrix FAS 并将其连接到 Citrix Cloud 租户和资源位置。FAS 为从 Citrix Workspace 启动的 HDX 桌面和应用程序提供单点登录。您不必配置 AD 影子帐户,因为 AD 和 Azure AD 用户身份的 UPN
user@customerdomain
必须匹配。 FAS 使用正确的 UPN 生成必要的用户证书,并在启动 HDX 资源时执行智能卡登录。
配置自定义 Azure AD Enterprise SAML 应用程序
默认情况下,SAML 登录工作区的行为是根据 AD 用户身份进行断言。cip_directory SAML 属性是一个硬编码的字符串值,对于所有订阅者来说都是一样的,可以用作开关。Citrix Cloud 和 Citrix Workspace 在登录期间会检测到此属性,并触发 SAML 对用户身份的 Azure AD 版本进行断言。使用带有此属性的 azuread 参数会覆盖默认 SAML 行为,从而触发在 Azure AD 中使用 SAML。
尽管本节中的步骤适用于 Azure AD,但只要您执行相同的任务,您可以使用不同的 SAML 2.0 提供程序(例如 ADFS、Duo、Okta、OneLogin、PingOneSSO 等)创建类似的 SAML 应用程序。您的 SAML 提供商必须允许您在 SAML 应用程序中配置硬编码的 SAML 属性(cip_directory = azuread)。只需按照本节所述创建相同的 SAML 属性映射即可。
- 登录 Azure 门户。
- 从门户菜单中选择 Azure Active Directory。
- 在左侧窗格的“管理”下,选择“企业应用程序”。
- 在工作窗格的命令栏中,选择“新建应用程序”。
- 在命令栏中,选择“创建自己的应用程序”。不要使用 Citrix Cloud SAML SSO 企业应用程序模板。该模板不允许您修改声明列表和 SAML 属性。
- 输入应用程序的名称,然后选择“整合您在图库中找不到的任何其他应用程序(非图库)”。单击创建。将出现应用程序概述页面。
- 在左侧窗格中,选择 单点登录。在工作窗格中,选择 SAML。
- 在“基本 SAML 配置”部分中,选择 编辑 并配置以下设置:
- 在 标识符(实体 ID) 部分,选择 添加标识符 ,然后输入与您的 Citrix Cloud 租户所在区域关联的值:
- 对于欧盟、美国和亚太南部地区,请输入
https://saml.cloud.com
。 - 对于日本区域,请输入
https://saml.citrixcloud.jp
。 - 对于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us
。
- 对于欧盟、美国和亚太南部地区,请输入
- 在“回复 URL(断言消费者服务 URL)”部分,选择“添加回复 URL”,然后输入与 Citrix Cloud 租户所在区域关联的值:
- 对于欧盟、美国和亚太南部地区,请输入
https://saml.cloud.com/saml/acs
。 - 对于日本区域,请输入
https://saml.citrixcloud.jp/saml/acs
。 - 对于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us/saml/acs
。
- 对于欧盟、美国和亚太南部地区,请输入
- 在注销 URL(可选)部分,输入与您的 Citrix Cloud 租户所在区域关联的值:
- 对于欧盟、美国和亚太南部地区,请输入
https://saml.cloud.com/saml/logout/callback
。 - 对于日本区域,请输入
https://saml.citrixcloud.jp/saml/logout/callback
。 - 对于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us/saml/logout/callback
。
- 对于欧盟、美国和亚太南部地区,请输入
- 在命令栏中,选择“保存”。
- 在 标识符(实体 ID) 部分,选择 添加标识符 ,然后输入与您的 Citrix Cloud 租户所在区域关联的值:
- 在“属性和声明”部分,选择“编辑”以配置以下声明。这些声明出现在 SAML 响应中的 SAML 断言中。
- 对于 唯一用户标识符(姓名 ID) 声明,请保留默认值
user.userprincipalname
。 - 在命令栏中,选择“添加新声明”。
- 在 名称中输入 cip_directory。
- 在 源中,保持选中 属性 。
-
在 来源属性中,输入 azuread。输入该值后,该值将以引号形式出现。
- 在命令栏中,选择“保存”。
-
在“名称”和“来源”属性 字段中使用以下值创建其他声明:
名称 来源属性 cip_fed_upn user.userprincipalname displayName user.displayname firstName user.givenname lastName user.surname 重要提示:
您可以通过对每个声明重复步骤 b-f 或修改其他声明部分中已具有上表中列出的来源属性的默认声明来创建这些其他声明。默认声明包括命名空间
http://schemas.xmlsoap.org/ws/2005/05/identity/claims
。如果您修改了默认声明,则必须从每个声明中删除命名空间。如果您创建新的声明,则必须删除包含命名空间的声明。如果使用此命名空间的声明包含在生成的 SAML 断言中,则该断言将无效,并且会包含错误的 SAML 属性名称。
-
在“其他声明”部分中,对于
http://schemas.xmlsoap.org/ws/2005/05/identity/claims
命名空间的所有剩余声明,请单击省略号 (…) 按钮,然后单击“删除”。
完成后,“属性和声明”部分将显示如下所示:
- 对于 唯一用户标识符(姓名 ID) 声明,请保留默认值
- 使用此第三方在线工具获取 Citrix Cloud SAML 签名证书的副本。
-
在 URL 字段中输入 https://saml.cloud.com/saml/metadata,然后单击“加载”。
-
滚动到页面底部,然后单击“下载”。
- 配置 Azure Active Directory SAML 应用程序签名设置。
- 在 Azure Active Directory SAML 应用程序中上载在步骤 10 中获得的生产 SAML 签名证书。
- 启用“需要验证证书”。
故障排除
- 使用 SAML 网络工具(例如 SAML-tracer browser extension)验证您的 SAML 断言包含正确的用户属性。
-
找到黄色显示的 SAML 响应并与以下示例进行比较:
- 单击底部窗格中的 SAML 选项卡,解码 SAML 响应并以 XML 格式查看。
-
滚动到响应底部,验证 SAML 断言是否包含正确的 SAML 属性和用户值。
如果您的订阅者仍然无法登录其工作区,请联系 Citrix 支持并提供以下信息:
- SAML-tracer capture
- 登录 Citrix Workspace 失败的日期和时间
- 受影响的用户名
- 您用于登录 Citrix Workspace 的客户端计算机的主叫方 IP 地址。您可以使用像 https://whatismyip.com 这样的工具来获取这个 IP 地址。