Citrix ADC

Citrix ADC 作为 SAML SP

SAML 服务提供程序 (SP) 是由服务提供程序部署的 SAML 实体。当用户尝试访问受保护的应用程序时,SP 会评估客户端请求。如果客户端未经身份验证(没有有效的 NSC_TMAA 或 NSC_TMAS Cookie),SP 将请求重定向到 SAML 身份提供程序 (IdP)。

SP 还验证从 IdP 接收的 SAML 断言。

将 Citrix ADC 设备配置为 SP 时,与相关 SAML 操作关联的流量管理虚拟服务器(负载平衡或内容交换)将接收所有用户请求。

Citrix ADC 设备还支持注销期间的 POST 和重定向绑定。

注意

在部署中,Citrix ADC 设备可用作 SAML SP,其中 SAML IdP 可以在设备上或任何外部 SAML IdP 上配置 SAML IdP。

当用作 SAML SP 时,Citrix ADC 设备:

  • 可以从 SAML 令牌中提取用户信息(属性)。然后,可以在 Citrix ADC 设备上配置的策略中使用此信息。例如,如果要提取 GroupMember 和 emailaddress 属性,请在 SAMLAction 中指定 Attribute2 参数为 GroupMember,指定 Attribute3 参数为 emailaddress。

    注意

    默认属性(例如用户名、密码和注销 URL)不能在属性 1-16 中提取,因为它们被隐式解析并存储在会话中。

  • 可以从传入的 SAML 断言中提取最多 127 字节的属性名称。之前的限制是 63 字节。

  • 支持帖子,重定向和工件绑定。

    注意

    当膨胀或解码后的断言大于 10K 时,不应对大量数据使用重定向绑定。

  • 可以解密断言。

  • 可以从 SAML 断言中提取多值属性。发送这些属性是嵌套的 XML 标签,例如:

    <AttributeValue> <AttributeValue>Value1</AttributeValue> <AttributeValue>Value2</AttributeValue> </AttributeValue>

    注意

    从 Citrix ADC 13.0 版本 63.x 及更高版本中,SAML 属性的个人最大长度已增加,以允许最大 40k 字节。所有属性的大小不得超过 40k 字节。

    与之前的 XML 一起显示时,Citrix ADC 设备可以将 Value1 和 Value2 作为给定属性的值提取,而不是仅提取 Value1 的旧固件。

  • 可以指定 SAML 断言的有效性。

    如果 Citrix ADC SAML IdP 和对等方 SAML SP 上的系统时间不同步,则任何一方都可能使消息失效。为了避免这种情况,您现在可以配置断言有效的时间持续时间。

    此持续时间(称为“偏斜时间”)指定应接受消息的分钟数。可以在 SAML SP 和 SAML IdP 上配置偏斜时间。

  • 可以在身份验证请求中向外部 IdP(身份提供商)发送名为“ForceAuth”的额外属性。默认情况下,ForceAuthn 设置为“False”。它可以设置为“True”,以建议 IdP 在现有身份验证上下文的情况下强制进行身份验证。此外,当使用工件绑定配置时,Citrix ADC SP 在查询参数中执行身份验证请求。

使用命令行界面将 Citrix ADC 设备配置为 SAML SP 的步骤

  1. 配置 SAML SP 操作。

    示例

    以下命令添加了用于重定向未经身份验证的用户请求的 SAML 操作。

    add authentication samlAction SamlSPAct1 -samlIdPCertName nssp –samlRedirectUrl https://auth1.example.com

    有关该命令的更多详细信息,请参阅 https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction/

  2. 配置 SAML 策略。

    示例

    以下命令定义了将先前定义的 SAML 操作应用于所有流量的 SAML 策略。

    add authentication policy SamlSPPol1 -rule true -action SamlSPAct1

  3. 将 SAML 策略绑定到身份验证虚拟服务器。

    示例

    以下命令将 SAML 策略绑定到名为“av_saml”的身份验证虚拟服务器。

    bind authentication vserver av_saml -policy SamlSPPol1

  4. 将身份验证虚拟服务器绑定到相应的流量管理虚拟服务器。

    示例

    以下命令添加一个名为“lb1_ssl”的负载平衡虚拟服务器,并将名为“av_saml”的身份验证虚拟服务器关联到负载平衡虚拟服务器。 add lb vserver lb1_ssl SSL 10.217.28.224 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth1.example.com -Authentication ON -authnVsName av_saml

    有关该命令的更多详细信息,请参阅 https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction/

使用 GUI 将 Citrix ADC 设备配置为 SAML SP 的步骤

  1. 配置 SAML 操作和策略。

    导航到安全”>“AAA-应用程序流量”>“策略”>“身份验证”>“高级策略”>“策略”,创建以 SAML 作为操作类型的策略,并将所需的 SAML 操作与策略关联。

  2. 将 SAML 策略与身份验证虚拟服务器关联。

    导航到安全”>“AAA-应用程序流量”>“虚拟服务器,并将 SAML 策略与身份验证虚拟服务器关联。

  3. 将身份验证服务器与相应的流量管理虚拟服务器关联。

    导航到流量管理 > 负载平衡(或内容切换)> 虚拟服务器,选择虚拟服务器,然后将身份验证虚拟服务器与其关联。

Citrix ADC 作为 SAML SP