Citrix Cloud

将 ADFS 配置为工作区身份验证的 SAML 提供程序

本文介绍了如何配置 Citrix Cloud 使用 SAML 登录 Citrix Workspace 或 Citrix Cloud 所需的信赖方信任。

完成本文中的步骤后,您可以按照将 SAML 连接为 Citrix Cloud 中的身份提供程序中所述,配置 ADFS 服务器与 Citrix Cloud 之间的 SAML 连接。有关为 SAML 连接输入正确的 ADFS 值的指导,请参阅本文中的Citrix Cloud 中的 SAML 配置

先决条件

本文中的说明假定您的环境中已部署正在运行的 ADFS 服务器以及 Citrix FAS。Citrix FAS 是在会话启动期间向 VDA 提供单点登录所必需的。

有关详细信息,请参阅以下文章:

为 Citrix Cloud 配置信赖方信任

  1. 在 AD FS 管理控制台中,展开左窗格中的 AD FS 节点。
  2. 右键单击信赖方信任,然后选择添加信赖方信任

    添加信赖方信任菜单选项

    此时将显示“添加信赖方信任”向导。

  3. 选择声明感知,然后选择下一步

    已选择“声明感知”选项的 ADFS 信任向导

  4. 联合元数据地址中,输入 https://saml.cloud.com/saml/metadata.xml。选择下一步

    已输入联合元数据地址的 ADFS 信任向导

  5. 对于显示名称,输入 CitrixCloudProd。选择下一步

    已输入显示名称的 ADFS 信任向导

  6. 对于访问控制策略,选择允许所有人。选择下一步

    已突出显示访问控制策略的 ADFS 信任向导

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

    已选择“编辑声明颁发策略”菜单选项的 ADFS 控制台

  9. 右键单击新创建的信赖方信任,然后选择编辑声明颁发策略
  10. 单击添加规则,然后选择将 LDAP 属性作为声明发送。选择下一步
  11. 声明规则名称中,输入 CitrixCloud
  12. 属性存储中,选择 Active Directory
  13. 将 LDAP 属性映射到传出声明类型下,添加以下 LDAP 属性,完全按照所示:

    LDAP 属性 传出声明类型
    User-Principal-Name Name ID
    User-Principal-Name cip_upn
    E-Mail-Addresses cip_email
    objectSID cip_sid
    objectGUID cip_oid
    Display-Name displayName
    Given-Name firstName
    Surname lastName

    重要提示:

    NameID 必须始终是添加到声明列表中的第一个声明,否则单点注销 (SLO) 将无法正常运行。

    已配置的声明规则

  14. 选择完成

  15. 右键单击新创建的名为“CitrixCloudProd”的信赖方信任,然后选择属性。

  16. 选择端点选项卡,然后单击添加 SAML

  17. 从端点类型下拉列表中选择 SAML 注销

  18. 从绑定下拉列表中选择 POST

  19. 在“受信任的 URL:”和“响应 URL:”中输入 https://saml.cloud.com/saml/logout/callback>

    SAML 端点

  20. 单击确定应用

使用 PowerShell 修改 Citrix Cloud 信赖方信任

如果您已使用默认的“开箱即用”配置配置了 ADFS 服务器,本节中的步骤可让您对其进行更新,使其符合 Citrix 推荐的配置。如果 nameidentifier 属性未包含在声明规则集中或不是声明规则集中的第一个 SAML 属性,则 Citrix Cloud 或 Citrix Workspace 中的 SAML 单点注销将失败,需要执行此任务来解决此问题。

注意:

如果您已按照本文中为 Citrix Cloud 配置信赖方信任中的步骤创建了声明规则集,则无需执行此任务。

要完成此任务,您需要使用 PowerShell 将现有规则集替换为新的声明规则集。ADFS 管理控制台不支持此类操作。

  1. 在 ADFS 服务器上,找到 PowerShell ISE。右键单击并选择以管理员身份运行
  2. 将现有 ADFS 声明规则备份到文本文件:

    Get-ADFSRelyingPartyTrust -name "CitrixCloudProd" | Select-Object -ExpandProperty IssuanceTransformRules | Out-File "$env:USERPROFILE\desktop\claimrulesbackup.txt"
    <!--NeedCopy-->
    
  3. https://github.com/citrix/sample-scripts/tree/master/citrix-cloud 下载 Citrix 提供的 claimrules.txt 文件。
  4. claimrules.txt 文件复制到桌面。
  5. 使用 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: True
  • SignedSamlRequestsRequired: False
  • SamlResponseSignature: AssertionOnly

为了提高安全性,Citrix 建议对单点登录 (SSO) 和单点注销都使用已签名的 SAML 请求。本节介绍了如何使用 PowerShell 更新现有信赖方信任的签名设置,使其符合 Citrix 推荐的配置。

  1. 在 ADFS 服务器上获取当前的 RelyingPartyTrust 配置。

    Get-ADFSRelyingPartyTrust -TargetName "CitrixCloudProd"
    <!--NeedCopy-->
    
  2. 更新 CitrixCloudProd 信赖方信任设置。

    Set-ADFSRelyingPartyTrust -Name "CitrixCloudProd" `
                          -SignedSamlRequestsRequired $True `
                          -SamlResponseSignature "MessageAndAssertion"
    <!--NeedCopy-->
    

Citrix Cloud 中的 SAML 配置

在 Citrix Cloud 中配置 SAML 连接时(如将 SAML 提供程序元数据添加到 Citrix Cloud 中所述),您将按如下方式输入 ADFS 的值:

身份和访问管理 > 身份验证 > 添加身份提供程序 > 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 Post
SAML 响应 签名响应或断言
身份验证上下文 未指定,精确
注销 URL https://adfs.YourDomain.com/adfs/ls,其中 YourDomain.com 是您的 ADFS 服务器域。
签名注销请求
SLO 绑定机制 HTTP Post

从 MMC ADFS 管理控制台中导出 ADFS 签名证书。请参阅下面的屏幕截图,了解 3 个证书中哪个是正确的证书,可将其上传到 SAML 连接中的 Citrix Cloud。

导出 ADFS

将 ADFS 配置为工作区身份验证的 SAML 提供程序