将 ADFS 配置为商店身份验证的 SAML 提供程序
本文介绍如何配置 Citrix Cloud™ 使用 SAML 登录商店或 Citrix Cloud 所需的信赖方信任。
完成本文中的步骤后,您可以按照 (/zh-cn/citrix-cloud/citrix-cloud-management/identity-access-management/saml-identity.html) 中所述,配置 ADFS 服务器与 Citrix Cloud 之间的 SAML 连接。有关为 SAML 连接输入正确的 ADFS 值的指导,请参阅本文中的 (#saml-configuration-in-citrix-cloud)。
先决条件
本文中的说明假定您的环境中已部署运行正常的 ADFS 服务器,并集成了 Citrix FAS。Citrix FAS 是在会话启动期间向 VDA 提供单点登录所必需的。
有关详细信息,请参阅以下文章:
- Citrix FAS 文档:
- (/zh-cn/federated-authentication-service/current-release/install-configure.html)
- (/zh-cn/federated-authentication-service/current-release/deployment-architectures/adfs)
- Citrix Tech Zone:参考架构:联合身份验证服务
为 Citrix Cloud 配置信赖方信任
- 在 AD FS 管理控制台中,展开左侧窗格中的 AD FS 节点。
-
右键单击 Relying Party Trust,然后选择 Add Relying Party Trust。
(/en-us/citrix-cloud/media/saml-adfs-add-relying-party-trust-menu.png)
此时将显示“添加信赖方信任”向导。
-
选择 声明感知,然后选择 下一步。

-
在 联合元数据地址 中,输入
https://saml.cloud.com/saml/metadata.xml。选择 下一步。
-
对于显示名称,输入
CitrixCloudProd。选择 下一步。
-
对于访问控制策略,选择 允许所有人。选择 下一步。

- 在 准备添加信任 屏幕上,选择 下一步。
-
在 完成 屏幕上,选择 为此应用程序配置声明颁发策略。选择 下一步。

- 右键单击新创建的信赖方信任,并选择 编辑声明颁发策略。
- 单击 添加规则,然后选择 将 LDAP 属性作为声明发送。选择 下一步。
- 在 声明规则名称 中,输入
CitrixCloud。 - 在 属性存储 中,选择 Active Directory。
-
在将 LDAP 属性映射到传出声明类型下,添加以下 LDAP 属性,完全按照所示:
LDAP 属性 传出声明类型 用户主体名称 名称 ID 用户主体名称 cip_upn 显示名称 displayName 名字 givenName 姓氏 familyName 重要提示:
NameID 必须始终是添加到声明列表中的第一个声明,否则单一注销 (SLO) 将无法正常运行。
配置的声明规则(/en-us/citrix-cloud/media/saml-adfs-edit-claim-issuance-rule-dialog.png)
-
选择 完成。
-
右键单击新创建的名为“CitrixCloudProd”的信赖方信任,然后选择属性。
-
选择 Endpoints 选项卡,然后单击 Add SAML。
-
从端点类型下拉列表中选择 SAML logout。
-
从绑定下拉列表中选择 POST。
-
在“受信任的 URL:”和“响应 URL:”中输入
https://saml.cloud.com/saml/logout/callback>。SAML 端点(/en-us/citrix-cloud/media/saml-endpoint.png)
- 单击 OK 和 Apply。
使用 PowerShell 修改 Citrix Cloud 信赖方信任
如果您已使用默认的“开箱即用”配置配置了 ADFS 服务器,本节中的步骤可让您对其进行更新,使其符合 Citrix 推荐的配置。如果声明规则集中不包含 nameidentifier 属性,或者它不是声明规则集中的第一个 SAML 属性,则 Citrix Cloud 或应用商店的 SAML 单一注销将失败,需要执行此任务来解决此问题。
注意:
如果您已按照本文中 为 Citrix Cloud 配置信赖方信任 中的步骤创建了声明规则集,则无需执行此任务。
要完成此任务,您需要使用 PowerShell 将现有规则集替换为新的声明规则集。ADFS 管理控制台不支持此类操作。
- 在 ADFS 服务器上,找到 PowerShell ISE。右键单击并选择 Run as administrator。
-
备份您现有的 ADFS 声明规则到文本文件:
Get-ADFSRelyingPartyTrust -name "CitrixCloudProd" | Select-Object -ExpandProperty IssuanceTransformRules | Out-File "$env:USERPROFILE\desktop\claimrulesbackup.txt" <!--NeedCopy--> - 下载 Citrix 在 https://github.com/citrix/sample-scripts/tree/master/citrix-cloud 提供的 claimrules.txt 文件。
- 将 claimrules.txt 文件复制到您的桌面。
-
使用 claimrules.txt 文件导入所需的声明规则:
Set-ADFSRelyingPartyTrust -Name "CitrixCloudProd" ` -MetadataUrl "https://saml.cloud.com/saml/metadata" ` -AutoUpdateEnabled $True ` -IssuanceTransformRulesFile "$env:USERPROFILE\desktop\claimrules.txt" ` -SignedSamlRequestsRequired $True ` -SamlResponseSignature "MessageAndAssertion" ` -Enabled $True <!--NeedCopy-->
使用 PowerShell 更新信赖方信任的 SAML 签名设置
默认情况下,ADFS 信赖方信任具有以下设置:
- EncryptClaims: 是
- SignedSamlRequestsRequired: 否
- SamlResponseSignature: AssertionOnly
为了提高安全性,Citrix 建议对单点登录 (SSO) 和单点注销都使用已签名的 SAML 请求。本节介绍如何使用 PowerShell 更新现有信赖方信任的签名设置,使其符合 Citrix 推荐的配置。
-
获取 ADFS 服务器上当前的 RelyingPartyTrust 配置。
Get-ADFSRelyingPartyTrust -TargetName "CitrixCloudProd" <!--NeedCopy--> -
更新 CitrixCloudProd 信赖方信任设置。
Set-ADFSRelyingPartyTrust -Name "CitrixCloudProd" ` -SignedSamlRequestsRequired $True ` -SamlResponseSignature "MessageAndAssertion" <!--NeedCopy-->
Citrix Cloud 中的 SAML 配置
在 Citrix Cloud 中配置 SAML 连接时(如 (/zh-cn/citrix-cloud/citrix-cloud-management/identity-access-management/saml-identity.html#add-saml-provider-metadata-to-citrix-cloud) 中所述),您将按如下方式输入 ADFS 的值:
对 Identity and Access Management > Authentication > Add an identity provider > SAML 中的 SAML 连接使用默认推荐值。
| 在 Citrix Cloud 的此字段中 | 输入此值 |
|---|---|
| 实体 ID |
https://adfs.YourDomain.com/adfs/services/trust,其中 YourDomain.com 是您的 ADFS 服务器域。 |
| 签署身份验证请求 | 是 |
| SSO 服务 URL |
https://adfs.YourDomain.com/adfs/ls,其中 YourDomain.com 是您的 ADFS 服务器域。 |
| SSO 绑定机制 | HTTP 提交 |
| SAML 响应 | 签署响应或断言 |
| 身份验证上下文 | 未指定,精确 |
| 注销 URL |
https://adfs.YourDomain.com/adfs/ls,其中 YourDomain.com 是您的 ADFS 服务器域。 |
| 注销请求签名 | 是 |
| SLO 绑定机制 | HTTP Post 请求 |
从 MMC ADFS 管理控制台中导出 ADFS 签名证书。请参阅下面的屏幕截图,了解 3 个证书中哪一个是正确的,以便在 SAML 连接中上传到 Citrix Cloud。
