数据库权限管理
概述
数据库中,用户及数据管理权限的设计具有重要的安全、运维和业务意义。它不仅是数据库安全体系的核心组成部分,更是实现数据治理、职责分离、合规审计和高效协作的基础机制。通过为不同用户/角色分配最小必要权限,确保只有授权人员才能访问或修改特定数据,有效防范数据泄露、篡改或误操作。
MapGIS数据库用户管理可创建多个用户/角色,并为这些用户/角色授予读写数据的权限。
- 用户/角色管理权限(系统级):控制谁可以创建、修改、删除用户或角色;
- 数据对象管理权限(对象级):控制对数据库内各类对象(如表、视图、函数等)的访问与操作。
模块划分

功能界面
在MapGIS的GDBCatalog的右键菜单中添加设置项,通过单击对应设置项弹出界面,包括创建用户界面、创建角色界面、数据库权限设置界面、数据对象权限设置界面,如下图:

权限说明

提示:
目前,仅支持对PostGIS数据库进行数据库用户管理。
创建用户
功能说明
用于向数据库中添加新的数据库用户(仅限当前连接用户为超级用户,即超级用户具有创建权限),创建用户同时会创建同名的模式,并将该模式的所有者设置为该新建用户,不支持删除用户、修改用户密码。
操作说明
- 在GDBCatalog窗口中数据库右键节点选择创建用户菜单项,弹出创建用户界面(需要当前连接用户为超级用户)。


输入用户名称和密码,用户名称和密码需要符合数据相关要求。
选择数据库权限,默认为创建权限。数据库的权限包括无权限、使用权限、创建权限三种,权限说明如下:
| 数据源权限类型 | 权限描述 |
|---|---|
| 无权限 | 可以连接,无法打开当前数据源。 |
| 使用权限 | 仅支持打开数据源,无法新建/删除数据。对于数据对象权限需要单独赋予。 |
| 创建权限 | 支持新建数据。除超级用户外,其他用户仅支持删除自己创建的数据。 |
- 点击确定按钮,如果成功,关闭界面,如果失败,弹出错误提示信息窗口。
创建和管理角色
功能说明
用于向数据库中添加数据库角色,以允许将角色授权给用户,或从用户中撤销角色。
操作说明
- 在GDBCatalog窗口中数据库右键节点选择创建和管理角色按钮,弹出创建和管理角色界面(需要当前连接用户为超级用户)。


角色名称,输入角色名称,或下拉框选择已存在角色名称。可只输入角色名称后确定创建新的角色。
用户名称,下拉框指定已存在用户名称。
用户授权或撤销,当需要选择授权角色和撤销权限时,该参数可为空。
- 授权角色:将角色授权给用户,一个角色可授权给多个用户。授权后,用户的权限将为用户本身的权限与角色权限的并集。
- 撤销角色:将角色从用户中撤销,用户恢复本身的权限。选择此项,需指定数据库中已有的角色名,且角色已经授权给用户。
- 点击确定按钮,如果成功,关闭界面,如果失败,弹出错误提示信息窗口。
数据库权限设置
功能说明
用于管理普通用户对数据库的操作权限(仅限当前连接用户为超级用户,即超级用户具有创建权限)。数据库的权限包括无权限、使用权限、创建权限三种。
操作说明
- 在GDBCatalog窗口中数据库右键节点选择数据库权限设置菜单项,弹出数据权限设置界面(需要当前连接用户为超级用户)。


- 点击左下角添加按钮,弹出用户和角色选择列表,可选择需要设置的用户或角色。

下拉选择设置每个用户的权限,包括无权限、使用权限、创建权限。
点击确定按钮,如果成功,关闭界面,如果失败,弹出错误提示信息窗口。
数据权限设置
功能说明
用于管理用户/角色对数据对象的操作权限。数据对象的权限包括选择、插入、更新、删除四种,其中插入、更新、删除需具有数据库创建权限才生效。
| 数据集权限类型 | 权限描述 |
|---|---|
| 选择 | 支持浏览当前数据,可在地图窗口中选择对象。 |
| 插入 | 支持在数据插入新的对象。默认包含选择权限。 |
| 更新 | 支持编辑当前数据中已有对象,包括空间位置和属性信息。默认包含选择权限。 |
| 删除 | 支持删除或清空当前数据集中的对象。默认包含选择权限。 |
如果用户存在继承的权限,即使直接撤销了用户的权限,该角色通过继承的权限依旧有效。当和数据库权限冲突时,以数据库为准,即只有数据库使用权限,但是有数据增删改查权限时,增删改无效。
对于数据对象的删除和属性结构的修改仅数据所有者和超级用户有权限,且该权限不可以赋予。
对于网络类数据类型,在权限设置时,需要所有关联简单要素类都同步赋权,以确保其可以正常访问。即对于网络类关联的简单要素类,只能通过网络类进行统一赋权。
操作说明
- 在GDBCatalog窗口中数据库或数据(简单要素类、注记类、对象类)右键节点选择数据权限设置菜单项,弹出数据权限设置界面,如果当前连接用户不为超级用户或数据拥有者,则界面文字提示为只读,不可编辑设置。


- 当为多用户对单表权限时,即可以设置多个用户对当前选择数据的权限,右侧显示当前数据信息,表格中添加用户或角色并设置勾选设置对当前数据的权限,包括选择、新增、更新、删除。可通过右键设置全选和全不选。

- 当为单用户对多表权限时,即可以设置选择用户同时对其他多个数据的权限,右侧下拉选择需要设置的用户(仅显示创建的用户和角色,不包括数据库默认角色和用户),表格中添加数据并设置选择用户的该数据的权限,包括选择、新增、更新、删除。可通过右键设置全选和全不选。在选择窗口中可通过控件功能过滤和分组。

- 点击确定按钮,如果设置成功,关闭界面,如果设置失败,弹出错误提示信息窗口。