ADFS 与安全私有访问集成
声明规则对于控制声明通过声明管道的流向是必要的。声明规则还可用于在声明规则执行过程中自定义声明流。有关声明的更多信息,请参阅 Microsoft 文档。
要将 ADFS 设置为接受来自 Citrix Secure Private Access™ 的声明,您必须执行以下步骤:
-
在 ADFS 中添加声明提供程序信任。
-
完成 Citrix Secure Private Access 上的应用程序配置。
在 ADFS 中添加声明提供程序信任
-
打开 ADFS 管理控制台。转到 ADFS > 信任关系 > 声明提供程序信任。
-
右键单击并选择 添加声明提供程序信任。
-
在 Secure Private Access 中添加一个用于联合到 ADFS 的应用程序。有关详细信息,请参阅 Citrix Secure Private Access 上的应用程序配置。
注意:首先添加应用程序,然后从应用程序的 SSO 配置部分,您可以下载 SAML 元数据文件,然后将元数据文件导入 ADFS。
-
完成步骤以完成添加声明提供程序信任。完成添加声明提供程序信任后,将出现一个编辑声明规则的窗口。
-
添加一个带有 转换传入声明 的声明规则。
-
完成以下图中所示的设置。如果您的 ADFS 接受其他声明,则使用这些声明并相应地在 Secure Private Access 中配置 SSO。
-
您现在已配置声明提供程序信任,确认 ADFS 现已信任 Citrix Secure Private Access 用于 SAML。
声明提供程序信任 ID
记下您添加的声明提供程序信任 ID。在 Citrix Secure Private Access 中配置应用程序时需要此 ID。
信赖方标识符
如果您的 SaaS 应用程序已使用 ADFS 进行身份验证,则您必须已为该应用程序添加了信赖方信任。在 Citrix Secure Private Access 中配置应用程序时需要此 ID。
在 IdP 发起的流程中启用中继状态
RelayState 是 SAML 协议的一个参数,用于标识用户登录并定向到信赖方联合服务器后访问的特定资源。如果在 ADFS 中未启用 RelayState,则用户在向需要它的资源提供程序进行身份验证后会看到错误。
对于 ADFS 2.0,您必须安装更新 KB2681584(更新汇总 2)或 KB2790338(更新汇总 3)以提供 RelayState 支持。ADFS 3.0 内置了 RelayState 支持。在这两种情况下,RelayState 仍然需要启用。
在 ADFS 服务器上启用 RelayState 参数
-
打开文件。
-
对于 ADFS 2.0,在记事本中输入以下文件:%systemroot%\inetpub\adfs\ls\web.config
-
对于 ADFS 3.0,在记事本中输入以下文件:%systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config
-
-
在 microsoft.identityServer.web 部分中,按如下所示为 useRelyStateForIdpInitiatedSignOn 添加一行,并保存更改:
<microsoft.identityServer.web> ... <useRelayStateForIdpInitiatedSignOn enabled="true" /> ...</microsoft.identityServer.web>-
对于 ADFS 2.0,运行
IISReset以重新启动 IIS。
-
-
对于这两个平台,请重新启动 Active Directory Federation Services
(adfssrv) service.注意: 如果您使用的是 Windows 2016 或 Windows 10,请使用以下 PowerShell 命令启用它。Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true
Citrix Secure Private Access 上的应用程序配置
您可以配置 IdP 发起的流程或 SP 发起的流程。在 Citrix Secure Private Access 中配置 IdP 或 SP 发起的流程的步骤是相同的,不同之处在于,对于 SP 发起的流程,您必须在 UI 中选择**使用指定 URL 启动应用程序 (SP 发起)**复选框。
IdP 发起的流程
-
在设置 IdP 发起的流程时,请配置以下内容。
-
应用程序 URL – 应用程序 URL 使用以下格式。
https://<adfs fqdn>/adfs/ls/idpinitiatedsignon.aspx?LoginToRP=<rp id>&RedirectToIdentityProvider=<idp id> -
ADFS FQDN – 您的 ADFS 设置的 FQDN。
-
RP ID – RP ID 是您可以从信赖方信任中获取的 ID。它与信赖方标识符相同。如果它是 URL,则会进行 URL 编码。
-
IDP ID – IdP ID 与声明提供程序信任 ID 相同。如果它是 URL,则会进行 URL 编码。示例
-
-
SAML SSO 配置。以下是 ADFS 服务器的默认值。如果任何值发生更改,请从 ADFS 服务器的元数据中获取正确的值。ADFS 服务器的联合元数据可以从其联合元数据端点下载,该端点可以从 ADFS > 服务 > 端点中得知。
-
断言 URL –
https://<adfs fqdn>/adfs/ls/ -
中继状态 – 中继状态对于 IdP 发起的流程很重要。请按照此链接正确构建它 - 中继状态示例: RPID=https%3A%2F%2Fdev98714.service-now.com&RelayState=https%3A%2F%2Fdev98714.service-now.com%2F
-
受众 –
http://<adfsfqdn>/adfs/services/trust -
有关其他 SAML SSO 配置设置,请参阅下图。有关更多详细信息,请参阅支持 SaaS 应用程序。

-
-
保存并将应用程序订阅给用户。
SP 发起的流程
对于 SP 发起的流程,请按照“IDP 发起的流程”部分中的说明配置设置。此外,请启用“使用指定 URL 启动应用程序 (SP 发起)”复选框。