ArcGIS 借助标准 IT 身份验证机制、协议和技术实现构建、提供支持和不断演变,确保它与现有组织的安全策略、实践和基础架构顺利集成。ArcGIS 产品在访问受保护的资源(包括文件源、DBMS 源和基于 Web 的源)时遵循标准身份验证实践。ArcGIS Enterprise 和 ArcGIS Online 均支持内置用户存储以及 IT 组织使用和提供的各种企业身份提供者 (IdP),例如 Microsoft Entra ID、Active Directory 或 Okta。 ArcGIS 客户端和服务器支持跨单层或多层架构中的每一层进行身份验证,包括访问 Web 服务、门户、DBMS、文件存储、数据湖和其他源。 本主题将提供有关在架构设计过程中考虑的身份验证过程和选项的更多详细信息。
ArcGIS 支持并推广单点登录 (SSO) 用户身份验证体验,这些体验依赖于组织的现有 IdP 和相关安全基础架构来管理用户身份和凭据以及身份验证机制。以这种方式与 IdP 集成可确保 ArcGIS 在既有的任务关键型安全基础架构上无缝构建,并具有强大、集中的用户配置、管理、监测和审计资源。 ArcGIS 通过广泛接受的身份验证模式(例如 SAML、OIDC、IWA/AD、LDAP 或 PKI)与组织的 IdP 集成。 这种集成方法简化了安全模型,并允许 ArcGIS 依靠 IdP 直接对用户进行身份验证、提供身份验证服务、管理访问权限(例如,添加或移除权限,或启用或禁用账户),并提供单点登录 (SSO) 用户体验以及漏洞和防入侵资源。
在 ArcGIS 中使用基于 Web 的资源时,用户会在初始身份验证后建立身份。 身份可通过多种方法建立,但常规顺序如下所述:
无论身份验证如何完成,生成的用户会话都将完全基于 ArcGIS 访问令牌。 此令牌在应用程序代码中维护,或作为 HTTP Cookie 存储和传递,并在特定持续时间内有效。 默认令牌过期时间为 120 分钟,但可以刷新令牌并请求延长时间。 除了访问令牌外,还会生成一个 refresh_token,可用于刷新用户的访问令牌,并在使用时间超过 2 小时后延长其会话。
用户身份还包括适用于整个 ArcGIS 系统和用户体验的用户特定属性,例如:
在传统的客户端 - 服务器配置(如 DBMS 或文件服务器)中使用基于桌面的资源时,用户的身份基于与服务器技术或操作系统功能关联的安全模型。
在后端自动化方案(例如服务器到服务器或操作系统基于进程的通信)中,这些交互中的客户端将遵循上述模式来建立具有关联登录凭据的身份。
有关 ArcGIS 特定身份验证模式的详细信息,请访问 Esri 开发人员站点。
要与 ArcGIS Enterprise 或 ArcGIS Online 建立用户或编程会话,可使用以下受支持的标准行业协议和机制对整个 ArcGIS 系统中的用户和客户端进行身份验证。 其中包括:
Esri 在 ArcGIS Enterprise 和 ArcGIS Online 中为基于 SAML 的登录账户提供支持,并提供一组特定于身份提供者的文档。 ArcGIS Enterprise 和 ArcGIS Online 组织也完全支持 OpenID Connect (OIDC)。 对于可使用此选项的所有组织,Esri 建议使用 SAML 或 OIDC 登录账户。
在 ArcGIS 环境中,SAML 和 OIDC 都允许用户使用来自受信任身份提供者(例如 Google、Microsoft Entra ID、Okta 或其他企业身份系统)的现有凭据进行登录,从而促进安全访问。 当用户尝试在没有当前身份验证会话的情况下访问 ArcGIS 系统时,系统会将其重定向到身份提供者进行身份验证。 身份提供者将处理身份验证步骤,其中将向系统提供用户名、密码、一次性代码或其他因素,如果成功,则身份提供者将发出 SAML 声明或 OIDC 声明,该声明将发送回 ArcGIS 以验证用户的身份。
使用 SAML 或 OIDC 的优势如下:
工作原理
内置标识存储可用于直接在 ArcGIS Server 组件或 Portal for ArcGIS 中管理用户和群组。 这意味着您不需要外部系统即可处理用户身份验证。 ArcGIS 通过验证存储在其专用数据库中的用户名和密码处理身份验证过程。 此方法通常用于初始设置、开发和测试,因为它支持轻松快速地创建账户。
实例
假设您正在为一小组 GIS 专业人员设置一个新的 ArcGIS Enterprise 门户。 您可以直接在门户中为每个团队成员快速创建用户账户。 每个用户随后可以使用其凭据登录,以访问组织内的共享地图、应用程序和其他资源。
优点
易用 - 无需与外部系统进行复杂的集成。
设置快速 - 非常适合快速入门,尤其是在开发和测试环境中。
独立 - 所有用户数据都在门户内进行管理,从而简化管理过程。
局限性
可扩展性 - 不适合拥有许多用户的大中型组织,因为管理过程复杂。
安全性 - 与使用 LDAP 或 SAML 相比,可能无法满足某些组织的严格安全要求。
集成的 Windows 身份验证 (IWA) 和 Active Directory (AD) 以及轻量级目录访问协议 (LDAP) 协议(仅适用于 ArcGIS Enterprise)通常在组织内用于面向内部或网络工作流。 Esri 建议仅将 IWA、AD 和 LDAP 配置用于面向内部的 ArcGIS Enterprise 部署。
使用客户端证书的公钥基础设施 (PKI) 跨多种身份验证模式使用,包括 IWA、SAML 和 OIDC。
多重身份验证 (MFA) 通常应用于 ArcGIS 内置登录账户,或在使用外部身份提供者的 SAML 或 OIDC 进程中应用。 这是推荐的最佳实践,尤其是对于高权限账户。
基于应用程序的身份验证是另一种身份验证模式,与内置用户模式相关,其中身份验证使用 API 密钥或客户端 ID 和客户端密钥对完成。[^1]
对于需要对其 WAN 进行开放访问或通过 Internet 对应用程序进行公共访问的组织,ArcGIS 还支持匿名用户访问整个系统中的大多数资源类型。
[^1]:ArcGIS Location Platform、ArcGIS Online 和 ArcGIS Enterprise 11.4 或更高版本支持 API 密钥。
虽然在 ArcGIS 系统中完成的大多数使用工作流都基于用户,其中用户正在与向服务器发出请求的网页或应用程序进行交互,但其他工作流需要服务器到服务器或编程级别的交互,无论是用于系统之间的集成、自动执行数据任务,还是在不同的类服务器或后端系统之间提供其他级别的连接。
虽然允许匿名身份的基于服务器的请求很容易支持,但当服务或终端节点受到保护时,有许多选项可用于对这些请求进行身份验证,并且需要某种级别的身份验证或标识。 适用于该领域的一些常规建议如下:
refresh_token
(从内置或企业级身份提供者生成)的使用嵌入在系统中,并根据需要用于生成会话令牌。 有效的刷新令牌也可以交换为新的刷新令牌,因此可以创建逻辑来维护此刷新令牌并使其无限期有效。