Citrix ADC 作为 SAML IdP
SAML IdP(身份提供程序)是部署在客户网络中的 SAML 实体。IdP 接收来自 SAML SP 的请求,并将用户重定向到登录页面,用户必须在登录页面中输入凭据。IdP 通过 Active Directory(外部身份验证服务器,例如 LDAP)对这些凭据进行身份验证,然后生成发送到 SP 的 SAML 断言。
SP 验证令牌,然后授予用户对请求的受保护应用程序的访问权限。
将 Citrix ADC 设备配置为 IdP 时,与相关 SAML IdP 配置文件关联的身份验证虚拟服务器将接收所有请求。
注意
Citrix ADC 设备可以在设备上或任何外部 SAML SP 上配置了 SAML SP 的部署中用作 IdP。
用作 SAML IdP 时,Citrix ADC 设备:
-
支持能够支持传统登录的所有身份验证方法。
-
以数字方式签署断言。
-
支持单重身份验证和双重身份验证。不得将 SAML 配置为辅助身份验证机制。
-
可以使用 SAML SP 的公钥加密断言。当断言包含敏感信息时,建议执行此操作。
-
可以配置为仅接受来自 SAML SP 的数字签名请求。
-
可以使用以下基于 401 的身份验证机制登录 SAML IdP:协商、NTLM 和证书。
-
除了 NameId 属性外,还可以配置为发送 16 个属性。必须从相应的身份验证服务器中提取属性。对于其中的每个人,您可以在 SAML IdP 配置文件中指定名称、表达式、格式和友好名称。
-
如果 Citrix ADC 设备配置为多个 SAML SP 的 SAML IdP,用户无需每次进行显式身份验证即可访问不同 SP 上的应用程序。Citrix ADC 设备为第一次身份验证创建会话 cookie,后续的每个请求都使用此 cookie 进行身份验证。
-
可以在 SAML 断言中发送多值属性。
-
支持发布和重定向绑定。Citrix ADC 13.0 Build 36.27 中引入了对项目绑定的支持。
-
可以指定 SAML 断言的有效性。
如果 Citrix ADC SAML IdP 上的系统时间与对等 SAML SP 上的系统时间不同步,则消息可能会被任何一方失效。为了避免此类情况,您现在可以配置断言有效的持续时间。
此持续时间称为“倾斜时间”,指定必须接受消息的分钟数。可以在 SAML SP 和 SAML IdP 上配置倾斜时间。
-
可以配置为仅向在 IdP 上预配置的或信任的 SAML SP 提供断言。对于此配置,SAML IdP 必须具有相关 SAML SP 的服务提供商 ID(或颁发者名称)。
注意
继续操作之前,请确保您的身份验证虚拟服务器已链接到 LDAP 身份验证服务器。
使用命令行界面将 Citrix ADC 设备配置为 SAML IdP
-
配置 SAML IdP 配置文件。
示例
将 Citrix ADC 设备添加为 IdP,并将 SiteMinder 添加为 SP。
add authentication samlIdPProfile samlIDPProf1 -samlSPCertName siteminder-cert -encryptAssertion ON -samlIdPCertName ns-cert -assertionConsumerServiceURL http://sm-proxy.nsi-test.com:8080/affwebservices/public/saml2assertionconsumer -rejectUnsignedRequests ON -signatureAlg RSA-SHA256 -digestMethod SHA256 –acsUrlRule AAA.LOGIN.SAML_REQ_ACS_URL.REGEX_MATCH(re#^https://example2\.com/cgi/samlauth$#)
注意事项
-
在 SAML IdP 配置文件中,配置 ACsurLRule ,该 ACurlRule 采用此 IdP 的适用服务提供商 URL 列表的表达式。此表达式取决于正在使用的 SP。如果 Citrix ADC 配置为 SP,则 ACS URL 将为
https://<SP-domain_name>/cgi/samlauth
。Citrix 建议在表达式中包含完整 URL 以进行匹配。 -
SAML 仅支持 RSA 证书。不支持 HSM、FIPS 等其他证书。
-
您必须使用 “^” 符号(例如:^https)以及字符串末尾的美元符号 “$”(例如:samlauth$)指定域的起始位置。
有关该命令的更多详细信息,请参阅 https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction 和 https://support.citrix.com/article/CTX316577。
-
-
配置 SAML 身份验证策略并将 SAML IdP 配置文件关联为策略的操作。
add authentication samlIdPPolicy samlIDPPol1 -rule true -action samlIDPProf1
-
将策略绑定到身份验证虚拟服务器。
bind authentication vserver saml-auth-vserver -policy samlIDPPol1 -priority 100
有关该命令的更多详细信息,请参阅 https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlIdPProfile。
使用 GUI 将 Citrix ADC 设备配置为 SAML IdP
-
导航到 安全 > AAA 策略 > 身份验证 > 高级策略 > SAML IdP。
-
选择 服务器 选项卡,单击 添加,输入以下参数的值,然后单击 创建。
参数描述:
断言消费者服务 URL-经过身份验证的用户将被重定向到的 URL。
IdP 证书名称-用于身份验证页面的证书密钥对。
SP 证书名称-服务提供商的证书在这种情况下,这不需要密钥。
签名断言- 在将客户端重定向回服务提供商时对断言和响应进行签名的选项。
颁发者名称-IdP 发出的 SAML 断言中包含的字符串值。
服务提供商 ID-在 SP 上指定的用于帮助识别服务提供商的唯一 ID。ID 可以是任何内容,不必是下面指定的 URL,但在 SP 配置文件和 IdP 配置文件上必须相同。
拒绝未签名请求-可以指定选项以确保仅接受使用 SP 证书签名的断言。
签名算法-用于对 IdP 和 SP 之间的断言进行签名和验证的算法,IdP 配置文件和 SP 配置文件必须相同。
摘要方法-用于验证 IdP 和 SP 之间断言完整性的算法,IdP 配置文件和 SP 配置文件必须相同。
SAML 绑定-与 SP 配置文件中所述的相同,SP 和 IdP 上的绑定必须相同。
-
将 SAML IdP 策略与身份验证虚拟服务器关联。
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Virtual Servers(虚拟服务器),然后将 SAML IdP 策略与身份验证虚拟服务器相关联。