使用 Azure AD 和 AAD 标识进行工作区身份验证的 SAML
本文介绍如何使用 Azure Active Directory (AD) 身份而不是 AD 身份配置 SAML 进行工作区身份验证。 如果您的 Azure AD 用户在使用默认 SAML 行为登录 Citrix Workspace 后无法枚举 Windows 365 云 PC 或加入 Azure AD 域的 VDA,请使用此配置。 完成配置后,您的用户可以使用 SAML 身份验证登录 Citrix Workspace,以通过 Citrix DaaS 访问 HDX 应用程序和桌面,并通过 Azure 访问 Windows 365 云 PC。
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 云 PC。
重要:
枚举是指用户登录 Citrix Workspace 后看到的资源列表。 允许特定用户访问的资源取决于他们的用户身份以及 Citrix DaaS 中与该身份相关联的资源。 有一篇相关文章提供了有关利用 Azure AD 和 AD 身份作为 SAML 提供程序来验证 Workspace 的说明。 您可以在 使用 Azure AD 和 AD 身份进行工作区身份验证的 SAML中找到详细说明
功能范围
本文适用于使用以下 Citrix Cloud 和 Azure 功能组合的用户:
- 用于工作区身份验证的 SAML
- 使用 AD 域加入的 VDA 发布的资源的 Citrix DaaS 和 HDX 资源枚举
- Azure AD 域加入的 VDA 资源枚举
- Azure 混合域加入的 VDA 资源枚举
- W365 云 PC 枚举和启动
重要:
请勿使用此 AAD SAML 流程通过 SAML 登录 Citrix Cloud,因为这要求 Citrix Cloud 管理员用户是 AD 组的成员,因此应使用 AD 用户身份。 您可以在 使用 Azure AD 和 AD 身份进行工作区身份验证的 SAML中找到详细说明
什么是最好的: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 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 作为身份验证方法。 要更改工作区身份验证方法,请转到 Citrix Cloud 控制台中的 工作区配置 > 身份验证 。
- 必须在 Azure AD 中将 UPN 后缀
@yourdomain.com
作为自定义域名导入和验证。 在 Azure 门户中,它位于 Azure Active Directory > 自定义域名下。 - 必须使用 Microsoft Azure AD Connect 从 AD 导入 Azure 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。
- 在左侧窗格中,在 管理下,选择 企业应用程序。
- 从工作窗格中的命令栏中,选择 New Application。
- 从命令栏中,选择 创建您自己的应用程序。 不要使用 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 用户.用户主体名称 displayName 用户显示名称 firstName 用户名字 lastName 用户姓氏 重要:
您可以通过对每个声明重复步骤 bf 或修改 附加声明 部分中已经具有上表所列源属性的默认声明来创建这些附加声明。 默认声明包括命名空间
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 浏览器扩展)验证您的 SAML 断言是否包含正确的用户属性。
-
找到以黄色显示的 SAML 响应并与以下示例进行比较:
- 单击底部窗格中的 SAML 选项卡以解码 SAML 响应并以 XML 形式查看。
-
滚动到响应的底部并验证 SAML 断言是否包含正确的 SAML 属性和用户值。
如果您的订阅者仍然无法登录其工作区,请联系 Citrix 支持并提供以下信息:
- SAML 跟踪器捕获
- Citrix Workspace 登录失败的日期和时间
- 受影响的用户名
- 用于登录 Citrix Workspace 的客户端计算机的呼叫者 IP 地址。 您可以使用像 https://whatismyip.com 这样的工具来获取此 IP 地址。
配置 Citrix Cloud SAML 连接
所有 Citrix 登录流程都需要由服务提供商使用 Workspace URL 或 Citrix Cloud GO URL 发起。
从您的 Entra ID 门户获取 Entra ID SAML 应用程序 SAML 端点以进入 Citrix Cloud。
Citrix Cloud SAML 连接中使用的 Entra ID SAML 端点示例
重要:
EntraID SSO 和 Logout SAML 端点是相同的 URL。
可在 Citrix Cloud SAML 连接中使用的 Entra ID SAML 端点示例如下:
- 身份提供者实体 ID:
https://sts.windows.net/<yourEntraIDTenantID>
- 身份提供者 SSO 服务 URL:
https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
- 身份提供者注销 URL:
https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2