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 IdP 上配置了 SAML IdP 的部署中用作 SAML SP。

用作 SAML SP 时,Citrix ADC 设备:

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

    注意

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

  • 可以从传入 SAML 断言中提取最多 127 个字节的属性名称。之前的限制是 63 个字节。NetScaler 11.0 Build 64.x 中引入的支持。

  • 支持发布、重定向和伪影绑定。NetScaler 11.0 Build 55.x 中引入了对重定向和伪影绑定的支持。

    注意

    扩充或解码后的断言大于 10K 时,重定向绑定不得用于大量数据。

  • 可以解密断言。NetScaler 11.0 Build 55.x 中引入了支持功能。

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

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

    在提供之前的 XML 时,Citrix ADC 设备可以将 Value1 和 Value2 作为给定属性的值提取,与仅提取 Value1 的旧固件相反。

    注意

    NetScaler 11.0 Build 64.x 中引入的支持。

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

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

    此持续时间称为“倾斜时间”,指定必须接受消息的分钟数。可以在 SAML SP 和 SAML IdP 上配置倾斜时间。

    注意

    NetScaler 11.0 Build 64.x 中引入的支持。

  • 可以在身份验证请求中向外部 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<!--NeedCopy-->

  2. 配置 SAML 策略。

    示例

    以下命令定义了一个 SAML 策略,该策略将先前定义的 SAML 操作应用到所有流量。

    add authentication samlPolicy SamlSPPol1 ns_true SamlSPAct1<!--NeedCopy-->

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

    示例

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

    bind authentication vserver av_saml -policy SamlSPPol1<!--NeedCopy-->

  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<!--NeedCopy-->

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

  1. 配置 SAML 操作和策略。

    导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> Advanced Policies(高级策略)> Policy(策略)。创建以 SAML 作为操作类型的策略,然后将所需的 SAML 操作与策略关联。

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

    导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Virtual Servers(虚拟服务器),然后将 SAML 策略与身份验证虚拟服务器相关联。

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

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

SAML SP 中的 SessionIndex 大小的增加

SAML 服务提供程序 (SP) 的 SessionIndex 大小增加到 96 个字节。以前,SessionIndex 的默认最大大小为 63 个字节。

SAML SP 的自定义身份验证类参考支持

可以在 SAML 操作命令中配置自定义身份验证类引用属性。使用自定义身份验证类引用属性,可以在相应的 SAML 标记中自定义类名称。自定义身份验证类引用属性和命名空间作为 SAML SP 身份验证请求的一部分发送到 SAML IdP。

以前,使用 SAML 操作命令,只能配置在 authnCtxClassRef 属性中定义的一组预定义类。

重要

配置 customAuthnCtxClassRef 属性时,请确保以下事项:

  • 类的名称必须包含字母数字字符或带有正确 XML 标记的有效 URL。
  • 如果必须配置多个自定义类,每个类必须用逗号分隔。

使用 CLI 配置 customAuthnCtxClassRef 属性

在命令提示符下,键入:

  • add authentication samlAction <name> [-customAuthnCtxClassRef <string>]
  • set authentication samlAction <name> [-customAuthnCtxClassRef <string>]

示例:

  • add authentication samlAction samlact1 –customAuthnCtxClassRef http://www.class1.com/LoA1,http://www.class2.com/LoA2
  • set authentication samlAction samlact2 –customAuthnCtxClassRef http://www.class3.com/LoA1,http://www.class4.com/LoA2

使用 GUI 配置 customAuthnCtxClassRef 属性

  1. 导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> Advanced Policies(高级策略)> Actions(操作)> SAML
  2. SAML 页面上,选择 Servers(服务器)选项卡并单击 Add(添加)。
  3. Create Authentication SAML Server(创建身份验证 SAML 服务器)页面上,输入 SAML 操作的名称。
  4. 向下滚动以配置 Custom Authentication Class Types(自定义身份验证类类型)部分中的类类型 。

    自定义身份验证类类型

Citrix ADC 作为 SAML SP