ADFS 与 Secure Private Access 集成
声明规则对于控制声明渠道中的声明流程是必要的。声明规则还可用于在声明规则执行过程中自定义声明流程。有关声明的更多信息,请参阅 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 现在信任适用于 SAML 的 Citrix Secure Private Access。
声明提供商信任 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。
- 对于 ADFS 2.0,运行
- 对于这两个平台,请重新启动 Active Directory 联合身份验证服务
(adfssrv) service.
注意事项: 如果您有 Windows 2016 或 Windows 10,请使用以下 PowerShell 命令启用它。Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true
链接到命令- https://docs.microsoft.com/en-us/powershell/module/adfs/set-adfsproperties?view=win10-ps
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 编码。
-
应用程序 URL — 使用以下格式作为应用程序 URL。
-
SAML SSO 配置。
以下是 ADFS 服务器的默认值。如果任何值发生了更改,请从 ADFS 服务器的元数据中获取正确的值。ADFS 服务器的联合元数据可以从其联合身份验证元数据端点下载,该端点可从 ADFS > 服务 > 端点了解该端点。
-
断言 URL —
https://<adfs fqdn>/adfs/ls/
-
中继状态 — 中继状态对 IdP 启动的流非常重要。点击这个链接来正确构造它-
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/jj127245(v=ws.10)
示例: RPID=https%3A%2F%2Fdev98714.service-now.com&RelayState=https%3A%2F%2Fdev98714.service-now.com%2F
-
观众 —
http://<adfsfqdn>/adfs/services/trust
- 有关其他 SAML SSO 配置设置,请参阅下图。有关详细信息,请参阅https://docs.citrix.com/en-us/citrix-secure-private-access/service/support-saas-apps.html
-
断言 URL —
- 将应用程序保存并订阅给用户。
SP 启动的流
对于 SP 启动的流程,请按照 IDP 启动的流程 部分中捕获的设置进行配置。此外,启用使用 指定的 URL 启动应用程序(SP 启动) 复选框。