PKI 和客户端证书

使用客户端证书身份验证是保护客户端和服务之间通信的一种常用方法。 此术语可以涵盖客户端和服务器工作流的广泛定义。 例如,它可供用户在请求网页时使用,或者供后端系统在服务器到服务器通信中连接到 API 时使用。 PKI 证书可用于加密 Web 通信、签署代码和应用程序、通过良好隐私 (PGP)等模式对用户到远程系统或用户到用户通信进行身份验证。

客户端证书通常是从由企业 IT 组织维护或管理的证书颁发机构为用户生成的。 它们存储在操作系统存储、单独的设备或其他存储机制(如 USB 密钥或智能 ID 卡)上。 它们可以连接到多台不同的计算机,以支持用户从不同的位置进行身份验证。  

ArcGIS 服务的客户端身份验证

在 ArcGIS 系统中,客户端证书最常见的相关用途涉及用户在身份验证提供者中进行身份验证。 下面介绍了此工作流的两种主要实现模式。

Web 层身份验证

在 ArcGIS Enterprise 中,Web 层身份验证模式指 Web 服务器托管 ArcGIS Web Adaptor 安装以建立身份验证。 此模式的常规流程如下所示:

  1. 当用户首次尝试访问 ArcGIS Enterprise(例如 ArcGIS Server 或 Portal for ArcGIS 组件)时,Web 服务器会对用户请求做出响应,要求提供客户端证书。
  2. 用户可以选择提供证书,该证书将根据 Web 服务器的信任存储进行验证。 如果验证通过,ArcGIS Web Adaptor 会将用户的用户名发送到组件,然后组件会建立会话。
注:

此过程不需要将客户端证书发送到 ArcGIS Enterprise 或受其信任。 不会与 ArcGIS 组件交换密码或对密码进行验证。 客户端证书身份验证过程的隐式信任是授予用户访问权限的原因。

基于 SAML 或 OIDC 的 IdP

随着现代身份验证方法的引入,这种模式越来越受欢迎。 它涉及使用客户端证书向基于 SAML 或 OIDC 的身份提供者 (IdP) 对用户进行身份验证。 在此模式中,不会与 ArcGIS Enterprise 或 ArcGIS Online 的客户端证书身份验证进行交互。 相反,工作流如下所示:

  1. 当用户尝试登录到 ArcGIS 时,系统会提示他们启动基于 SAML 或 OIDC 的 IdP 登录进程。
  2. 他们的 IdP(通常是单独管理的托管系统)可以选择支持多种不同的身份验证模式,这可能包括通过智能卡或操作系统管理的证书进行客户端证书身份验证,以及基于用户名和密码的身份验证等其他选项。
  3. 用户向 IdP 成功进行身份验证后,将通过 SAML 声明或 OIDC 声明启动其与 ArcGIS 的会话,并且在会话过期之前不会再次请求客户端证书。

使用 PKI 进行服务到服务身份验证

另一种基于客户端证书的身份验证模式与源自服务器端组件、Web 服务或其他进程的请求有关,而不是通过 Web 浏览器等软件进行单个用户会话。 此过程可以在各种工作流程中进行,如下所示:

  • ArcGIS Server 打印服务尝试连接到受 PKI 保护的地图或要素服务端点。
  • 云托管的 API 服务向后端或本地服务进行身份验证,并且需要客户端证书身份验证。

在此类情况下,必须应用配置才能为服务提供客户端证书,以用于向后端系统进行身份验证。 这可以采用多种形式或以不同的方式进行配置。

其他注意事项和建议

  • 由于客户端证书在移动设备上使用和存储,因此可能需要特别注意从使用 ArcGIS Maps SDK 构建的本机和移动应用程序进行的 PKI 身份验证。
  • 根据各个用户的不同操作系统、浏览器和设置配置,PKI 身份验证的实现以及用户与它的交互方式可能显著不同。
  • 要解决 PKI 相关问题或错误,需要专业技能并了解网络或 IT 环境中整个 PKI 系统的预期设计。 要确保合规性和正确使用,必须与网络安全或 IT 专业人员合作。
  • 客户端证书的注意事项与 Web 服务器 SSL/TLS 证书包含的有效性、信任链和属性的注意事项相同。 应仔细监测、更新和管理这些证书,确保用户不会遇到意外中断。
Top