授权和访问模型
在完成身份验证步骤并且用户拥有有效的 ArcGIS 访问令牌后,将应用授权和访问规则。 这些规则采用多种形式,ArcGIS 的设计和构建旨在支持复杂的组织特定授权模型或结构。
访问授权
这种类型的授权指用户可以访问的内容、服务或界面。 在 ArcGIS 中,访问授权通过 ArcGIS 共享模型进行管理,该模型基于以下原理构建:
- ArcGIS 中的内容项目归特定用户账户 拥有。 单个用户可以管理、编辑、删除其拥有的内容以及对内容执行任何操作。
- 可以将项目共享到 ArcGIS 中的群组。 群组是在 ArcGIS 中创建的架构单元,其中包含群组特定元数据和参与成员列表。 一种类型的群组是共享更新群组,允许群组的所有成员编辑和管理共享到群组的项目。
- 群组也可以基于企业群组,其中群组成员资格在外部组织目录中定义,并通过 Active Directory、LDAP、SAML 或 OIDC 身份验证进程传播到 ArcGIS。 在此情况下,用户在 ArcGIS 群组中的成员资格由此企业群组成员资格定义。 此成员资格是在登录到 ArcGIS 时建立的,对该会话有效,并在以后每次登录时刷新。
- 也可以将项目共享给组织或所有人。
- 共享到_组织_时,任何可以通过身份验证建立组织有效会话的用户都可以访问该会话并与之交互。
- 与_所有人_共享时,与系统具有 HTTPS 连接的任何人都可以查看内容。 可通过系统的 WAN 或 Internet 匿名访问内容,具体取决于网络的配置方式。 网络访问控制可以进一步限制这种内容呈现。
用户访问权限在请求时进行确定。 如果共享设置发生更改,或者从群组中移除了用户,他们将立即失去对共享到该群组或该内容项的内容的访问权限。
使用 API 密钥时,尤其是在 ArcGIS Location Platform 中,可通过向 API 密钥添加项目访问权限控制对内容的访问。
功能授权
除了访问内容之外,另一种类型的授权是用户可以在特定系统中执行的操作。 这包括对 ArcGIS 系统中的功能、界面或特定工具或应用程序的访问。 此授权通常也由 ArcGIS 管理,并遵守几种不同的原则:
- ArcGIS 系统中的每个用户都分配有一个用户类型,用于定义他们对功能的访问级别。 用户类型示例包括 Viewer、Creator 或 Professional Plus。
- 每个用户还分配有角色,更具体地说,该角色通过在 ArcGIS 系统中为该角色分配的一组权限来控制其授权。 权限包括创建内容、共享给所有人、运行 Python 笔记本或创建托管影像服务的能力。 标准角色包括 Viewer、Data Editor 或 Publisher 等。
- 默认情况下,User 类型包含某些功能或访问级别。 此外,还可以将附加应用程序或用户类型扩展模块分配给特定用户,以授予他们访问其他功能的权限。
这些区别将在用户类型、角色和权限中进一步介绍。 功能和访问权限是在用户登录时建立的,因此对访问权限或权限的任何更改都可能需要用户重新进行身份验证才能应用更新。
API 密钥身份验证以不同的方式处理功能授权,其中每个 API 密钥都具有一组配置的可用权限,例如地理编码、地理丰富、路径分析或底图切片,并且在使用该 API 密钥时将拒绝对其他功能的访问。
与外部授权模式集成
虽然大多数组织直接在 ArcGIS 中管理 ArcGIS 用户的访问和权限,但某些组织需要从外部管理授权,为此提供了多个选项。
- 群组成员资格可通过使用企业群组来维护,其中用户成员资格基于登录期间 SAML 声明中包含的声明、OIDC 声明或对安全配置中定义的远程组存储的查询,还会在用户登录期间对此进行查询。
- 大多数基于 SAML 或 OIDC 的登录账户的身份提供者都包含一种配置,在该配置中,用户通过某个进程被分配或配置到 ArcGIS 应用程序,用户可通过该应用程序使用 SAML 或 OIDC 登录进程。 未配置的用户将无法通过 SAML 或 OIDC 登录,并且可以定义各种进程来自动配置对新账户的 ArcGIS 访问权限或遵循某种类型的请求进程。
- ArcGIS 为所有基于用户的授权作提供 REST API,例如创建和管理群组、向群组添加成员、更改用户角色或用户类型等。 通过外部脚本、工具或系统(如 Python 笔记本)实现的自动化也可用于自动授权用户访问,方法是查询远程源或使用 Survey123 表单之类的内容来触发在审核后授予用户额外授权的进程。