权限用于确定用户有权对数据和数据库执行何种操作。应根据人员在组织中所执行的工作类型来分配权限。
作为 PostgreSQL 数据库管理员,您应根据用户需要在数据库中执行的操作创建组角色、为组角色授予权限并向每个组角色添加独立登录角色。本主题列出了您创建的组角色中以下普通类型的数据库用户所需的最低权限:数据查看人员、数据编辑人员和数据创建人员。
请注意,这些权限适用于在 ArcGIS 中使用 PostgreSQL 数据库。如欲了解使用 PostgreSQL 中的地理数据库所需的权限,请参阅 PostgreSQL 中地理数据库的权限。
下表列出了三组用户及其查询、编辑或创建 ArcGIS 中的数据所需的最低权限。
用户类型 | 所需权限 | 用途 |
---|---|---|
数据查看人员 | CONNECT | 此权限允许您连接至数据库。 默认情况下,将授予公共组角色 CONNECT 和 TEMP 数据库权限。如果撤消公共组所具有的这些权限,则需要为特定登录角色或组角色明确授予对数据库的 CONNECT 和 TEMP 权限。 |
对包含数据查看人员需要访问的数据的方案的 USAGE 权限 | 此权限允许访问特定方案中的数据。 | |
如果您的数据库为空间数据存储使用 PostGIS 几何类型,则角色需要具有对 public.geometry_columns 和 public.spatial_ref_sys 视图的 SELECT 权限。 | 需要使用这些权限读取 PostGIS 几何列。 | |
如果您的数据库为空间数据存储使用 PostGIS 地理类型,则角色需要具有对 public.geography_columns 和 public.spatial_ref_sys 视图的 SELECT 权限。 | 需要使用这些权限读取 PostGIS 地理列。 | |
对特定数据集的 SELECT 权限 | 查看者可以借此访问其有权访问的方案中特定的表和要素类。 | |
数据编辑人员* 数据编辑人员需要具有与数据查看人员相同的权限,此外还需要这些附加权限。 | 对特定数据集的 INSERT、UPDATE 和 DELETE 权限 | 您可以根据编辑者的需要来授予 INSERT、UPDATE 和 DELETE 权限的任意组合。因此,您可以创建多个群组角色,并为每个角色授予相应的权限。例如,您可能拥有一个 full_edit 群组角色,该角色具有群组成员需要编辑的表的全部三种权限以及 SELECT 权限;您还可能拥有一个 updates_only 群组角色,该角色仅具有成员需要编辑的表的 SELECT 和 UPDATE 权限。 |
数据创建人员 数据创建人员需要具有与数据查看人员相同的权限,此外还需要此附加权限。 | 每个创建数据的登录角色都需要具备对自身方案的 AUTHORIZATION 权限。请注意,方案名称必须匹配登录角色名称,且组角色不能共享方案。 | AUTHORIZATION 可确保该方案中创建的所有对象均为该用户所有。 |
*要编辑数据,请发布引用您 PostgreSQL 数据库中数据的可编辑要素服务图层。