权限用于确定用户有权对数据和数据库执行何种操作。应根据人员在组织中所执行的工作类型来分配权限。该人员是否为地理数据库的管理员? 他/她是否需要编辑或创建数据? 或者该人员是否仅需查询数据?
可在不同级别设置用户权限。本主题将介绍以下普通用户类型所需的数据库和数据集权限:数据查看人员、数据编辑人员、数据创建人员和地理数据库管理员。
PostgreSQL 中的各个数据库用户被称为登录角色。要基于用户所执行的常规任务对登录角色进行分组,您可以创建组角色,将登录角色添加到组角色,然后为组角色分配权限。
可以使用连接到 PostgreSQL 数据库的某个管理应用程序(例如,pgAdmin III)来管理用户权限。也可以使用 SQL 语句授予和撤消权限。
数据集权限应由数据集所有者使用 ArcGIS 授予或撤消。有关说明,请参阅授予和撤消数据集权限。
最低权限
下表列出了将为三个常规组(数据查看者、数据编辑者和数据创建者)中的每个组授予的权限以及地理数据库管理员(sde 登录角色)执行日常操作所需的最低权限。
用户类型 | 数据库权限 | 数据集权限 | 备注 |
---|---|---|---|
数据查看人员 |
| 对特定数据集的 SELECT 权限 | 如果用户将访问使用 PostGIS 几何存储的要素类,则必须授予用户对 public.geometry_columns 和 public.spatial_ref_sys 表的 SELECT 权限。 |
数据编辑人员 |
| 对其他用户数据集的 SELECT、INSERT、UPDATE 和 DELETE 权限 | 如果使用 ArcGIS 为版本化要素类或表授予 SELECT、INSERT、UPDATE 和 DELETE 权限,则这些权限会自动授予到与之相关联的版本化视图中。用户通过版本化视图进行编辑时将需要这些权限。 如果用户将访问使用 PostGIS 几何存储的要素类,则必须授予用户对 public.geometry_column 和 public.spatial_ref_sys 表的 SELECT 权限。 |
数据创建人员 |
| 如果要使用 PostGIS 几何类型,则还必须授予对 public.geometry_columns 表的 SELECT、INSERT、UPDATE 和 DELETE 权限(语法为:GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE public.geometry_columns TO <role_name>)。另授予对 public.spatial_ref_sys 表的 SELECT 权限(语法为:GRANT SELECT ON TABLE public.spatial_ref_sys TO <role_name>)。 | |
地理数据库管理员(sde 登录角色) | 对所有其他用户方案的 USAGE 权限 | 如果未授予此权限,sde 将无法压缩或升级地理数据库。 |
创建或升级地理数据库所需的权限
sde 登录角色必须被授予超级用户身份才能创建地理数据库。要升级地理数据库,sde 登录角色必须具有访问所有其他用户的方案和选择地理数据库中所有数据集的权限。
sde 用户还需要超级用户身份才能使用 ArcGIS 工具断开数据库连接。因此,可在创建地理数据库后撤消超级用户权限,但前提是并不希望 sde 用户能够断开连接。