Citrix ADC

将 Azure AD 配置为 SAML IdP,将 Citrix ADC 配置为 SAML SP

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

SAML IdP(身份提供程序)是部署在客户网络中的 SAML 实体。IdP 接收来自 SAML SP 的请求,并将用户重定向到登录页面,用户必须在登录页面中输入凭据。IdP 使用用户目录(外部身份验证服务器,如 LDAP)对这些凭据进行身份验证,然后生成发送到 SP 的 SAML 断言。SP 验证令牌,然后授予用户对请求的受保护应用程序的访问权限。

下图描述了 SAML 身份验证机制。

SAML 机制

Azure AD 端配置

配置单点登录设置:

  1. 在 Azure 门户上,单击 Azure Active Directory

  2. 在导航窗格的 管理 部分下,单击 企业应用程序。此时将出现 Azure AD 租户中的应用程序的随机样本。

  3. 在搜索栏中,输入 Citrix ADC。

    SAML 应用程序 ADC

  4. 理部分下,选择 单点登录

  5. 选择 SAML 以配置单点登录。此时将显示 “ 使用 SAML 设置单点登录-预览 ” 页面。在这里,Azure 充当 SAML IdP。

  6. 下载 SAML 签名证书下存在的证书 (Base64),以便在将 Citrix ADC 配置为 SAML SP 时用作 samLidpCertName。

    SAML 设置

  7. 配置基本的 SAML 选项:

    标识符(实体 ID) -某些应用程序是必需的。唯一标识正在为其配置单点登录的应用程序。Azure AD 将标识符作为 SAML 令牌的受众参数发送给应用程序。预计应用程序将对其进行验证。此值还在应用程序提供的任何 SAML 元数据中显示为实体 ID。

    回复 URL -强制性。指定应用程序期望在哪里接收 SAML 令牌。回复 URL 也称为断言消费者服务 (ACS) URL。

    登录 URL -当用户打开此 URL 时,服务提供商会重定向到 Azure AD 进行身份验证并登录该用户。

    中继状态 -指定在身份验证完成后将用户重定向到的应用程序。

Citrix ADC 端配置

  1. 导航到 安全 > AAA 策略 > 身份验证 > 基本策略 >SAML

  2. 选择 服务器 选项卡,单击 添加,输入以下参数的值,然后单击 创建

    参数描述:

    粗体显示的参数值需要从 Azure 端配置中获取。

    名称-服务器的名称

    重定向 URL -输入之前在 Azure AD “设置 Citrix ADC” 部分中使用的登录 URL。 https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2

    单点注销 URL- https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2

    SAML 绑定-POST

    注销绑定-重定向

    IDP 证书名称 -存在于 SAML 签名证书下的 IDpCert 证书 (Base64)。

    用户字段 -用户 PrincipalName。摘自 Azure IdP 的 “用户属性和声明” 部分。

    签名证书名称 -Azure AD 不需要。选择 Citrix ADC 用于对 IdP 的身份验证请求签名的 SAML SP 证书(带私钥)。必须将相同的证书(不带私钥)导入到 IdP,以便 IdP 可以验证身份验证请求签名。大多数国内流离失所者并不需要此字段。

    ISSerName -标识符。 https://idp.g.nssvctesting.net

    拒绝未签名的断言-开

    受众-IdP 发送的断言适用的受众。这通常是表示 ServiceProvider 的实体名称或 URL。

    签名算法-RSA-SHA256

    摘要方法-SHA256

    默认身份验证组-除了提取的组之外,身份验证成功时还选择的默认组。

    组名字段-断言中包含用户组的标记的名称。

    倾斜时间(分钟)-此选项指定 Citrix ADC ServiceProvider 允许对传入断言允许的时钟偏差(以分钟为单位)。

    两个因素- OFF

    请求的验证上下文-确切

    身份验证类型-无

    发送指纹-OFF

    强制用户名-开

    强制身份验证-OFF

    存储 SAML 响应-关

同样,创建相应的 SAML 策略并将其绑定到身份验证虚拟服务器。

注意:Azure AD 不期望 SAML 请求中的 “主题 ID” 字段。要使 Citrix ADC 不发送主题 ID 字段,请在 Citrix ADC 命令提示符下键入以下命令。

nsapimgr_wr.sh -ys call="ns_saml_dont_send_subject"

将 Azure AD 配置为 SAML IdP,将 Citrix ADC 配置为 SAML SP