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 Connector for Azure AD

    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 可以验证身份验证请求签名。大多数国内流离失所者并不需要此字段。

    发行者名称 -标识符。 https://idp.g.nssvctesting.net

    拒绝未签名的断言-开

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

    签名算法-RSA-SHA256

    摘要方法-SHA256

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

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

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

    两个因素- OFF

    请求的验证上下文-确切

    身份验证类型-无

    发送指纹-OFF

    强制用户名-开

    强制身份验证-OFF

    存储 SAML 响应-关

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

注意:

  • Azure AD 预计不会在 SAML 请求中出现“主题 ID”字段。
  • 要使 Citrix ADC 不发送“主题 ID”字段,请在 Citrix ADC CLI 上键入以下命令。 nsapimgr_wr.sh -ys call="ns_saml_dont_send_subject" 此命令仅适用于 nFactor 身份验证工作流程。
将 Azure AD 配置为 SAML IdP,将 Citrix ADC 配置为 SAML SP