使用 Azure AD 和 AAD 身份进行工作区身份验证的 SAML 配置
本文介绍如何配置 SAML 以使用 Azure Active Directory (AD) 身份(而非 AD 身份)进行工作区身份验证。如果您的 Azure AD 用户在以默认 SAML 行为登录 Citrix Workspace 后无法枚举 Windows 365 Cloud PC 或已加入 Azure AD 域的 VDA,请使用此配置。完成配置后,您的用户可以使用 SAML 身份验证登录 Citrix Workspace,以通过 Citrix DaaS 访问 HDX 应用程序和桌面,并通过 Azure 访问 Windows 365 Cloud PC。
Citrix Cloud 和 SAML 对 Citrix Workspace 进行身份验证的默认行为是针对 AD 用户身份进行断言。对于本文中描述的配置,需要使用 Azure AD Connect 将您的 AD 身份导入到您的 Azure AD。AD 身份包含用户的 SID,Citrix Workspace 可以将其发送到 Citrix DaaS,从而允许枚举和启动 HDX 资源。由于使用了用户的 Azure AD 版本身份,用户还可以从 Citrix Workspace 中枚举和启动 Azure 资源,例如 Windows 365 Cloud PC。
重要:
枚举是指用户登录 Citrix Workspace 后看到的资源列表。给定用户被允许访问的资源取决于其用户身份以及 Citrix DaaS 中与该身份关联的资源。有一篇相关文章提供了有关利用 Azure AD 和 AD 身份作为 SAML 提供程序进行 Workspace 身份验证的说明。您可以在使用 Azure AD 和 AD 身份进行 Workspace 身份验证的 SAML 配置中找到详细说明。
功能范围
本文适用于使用以下 Citrix Cloud 和 Azure 功能组合的用户:
- 用于工作区身份验证的 SAML
- Citrix DaaS 和 HDX 资源枚举,用于发布使用已加入 AD 域的 VDA 的资源
- 已加入 Azure AD 域的 VDA 资源枚举
- 已加入 Azure 混合域的 VDA 资源枚举
- W365 Cloud PC 枚举和启动
重要:
请勿将此 AAD SAML 流程用于 Citrix Cloud 的 SAML 登录,因为这要求 Citrix Cloud 管理员用户是 AD 组的成员,因此应使用 AD 用户身份。您可以在使用 Azure AD 和 AD 身份进行 Workspace 身份验证的 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 本机用户,从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 否 Windows 365 Cloud PC Azure AD 本机用户,从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 否 已加入 AD、已加入 Azure AD、Windows 365 Cloud PC 从 AD 导入的 Azure AD(包含 SID) 是,通过 Azure AD 使用 SAML。 是,对于已加入 AD。否,对于已加入 Azure AD 和 Windows 365 Cloud PC。
更多信息
- Citrix DaaS 文档:
- Citrix FAS 文档:安装和配置
- Microsoft Azure 文档:什么是 Azure AD Connect?
要求
- 您的 Azure Active Directory 租户必须连接到您的 Citrix Cloud 租户。在 Citrix Cloud 控制台中,您可以通过选择身份和访问管理 > 身份验证找到您现有的 Azure AD 连接。
或者,
您可以通过选择身份和访问管理 > 身份验证 –> 添加身份提供程序 –> 选择 Azure Active Directory来创建新的 Azure AD 目录连接。
重要:
您必须连接到您打算创建将使用 AAD 身份的新 SAML 应用程序的同一 Azure Active Directory 租户。
- 工作区身份验证方法必须设置为 SAML 2.0。请勿使用 Azure AD 作为身份验证方法。要更改工作区身份验证方法,请在 Citrix Cloud 控制台中转到工作区配置 > 身份验证。
- UPN 后缀
@yourdomain.com
必须作为自定义域名导入并在 Azure AD 中进行验证。在 Azure 门户中,这位于Azure Active Directory > 自定义域名下。 - Azure AD 用户身份必须使用 Microsoft Azure AD Connect 从 AD 导入。这可确保用户身份正确导入并具有正确的 UPN 后缀。不支持 UPN 后缀为
@yourtenant.onmicrosoft.com
的 Azure AD 用户。 - Citrix FAS 必须部署并连接到 Citrix Cloud 租户和资源位置。FAS 为从 Citrix Workspace 启动的 HDX 桌面和应用程序提供单点登录。您无需配置 AD 影子帐户,因为 AD 和 Azure AD 用户身份的 UPN
user@customerdomain
必须匹配。FAS 会生成具有正确 UPN 的必要用户证书,并在启动 HDX 资源时执行智能卡登录。
配置自定义 Azure AD 企业 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.localuserprincipalname
。 - 从命令栏中,选择添加新声明。
- 在名称中,输入 cip_directory。
- 在源中,保留属性处于选中状态。
-
在源属性中,输入 azuread。输入后,此值将出现在引号中。
- 从命令栏中,选择保存。
-
使用名称和源属性字段中的以下值创建其他声明:
名称 源属性 cip_fed_upn user.localuserprincipalname 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 浏览器扩展)验证您的 SAML 断言是否包含正确的用户属性。
-
找到以黄色显示的 SAML 响应,并与此示例进行比较:
- 单击底部窗格中的 SAML 选项卡以解码 SAML 响应并将其视为 XML。
-
滚动到响应底部,并验证 SAML 断言是否包含正确的 SAML 属性和用户值。
如果您的订阅者仍然无法登录其工作区,请联系 Citrix 支持并提供以下信息:
- SAML-tracer 捕获
- 登录 Citrix Workspace 失败的日期和时间
- 受影响的用户名
- 您用于登录 Citrix Workspace 的客户端计算机的调用方 IP 地址。您可以使用 https://whatismyip.com 等工具获取此 IP 地址。
配置 Citrix Cloud SAML 连接
所有 Citrix 登录流程都需要由服务提供商发起,使用 Workspace URL 或 Citrix Cloud GO URL。
在身份和访问管理 > 身份验证 > 添加身份提供程序 > SAML 中使用 SAML 连接的默认推荐值。
从您的 Entra ID 门户获取 Entra ID SAML 应用程序 SAML 端点,以输入到 Citrix Cloud 中。
将在 Citrix Cloud SAML 连接中使用的 Entra ID SAML 端点示例
重要:
EntraID SSO 和注销 SAML 端点是相同的 URL。
Citrix Cloud 中的此字段 | 输入此值 |
---|---|
实体 ID | https://sts.windows.net/<yourEntraIDTenantID> |
签名身份验证请求 | 是 |
SSO 服务 URL | https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2 |
SSO 绑定机制 | HTTP Post |
SAML 响应 | 签名响应或断言 |
身份验证上下文 | 未指定,精确 |
注销 URL | https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2 |
签名注销请求 | 是 |
SLO 绑定机制 | HTTP Post |