注册
安全管理与权限控制
培训园地/ 文章详情 /

安全管理与权限控制

Primus 2026/08/27 200 0 0

一、安全模型

1.1 运维需求

在生产环境中,权力集中是安全的最大隐患。如果一个管理员既管数据库运维又管数据内容又管审计日志,就存在“既当运动员又当裁判员”的风险,无法满足等保合规要求。

1.2 解决方案

达梦数据库采用“三权分立”或“四权分立”的安全机制,将系统权限按职责拆分,实现权力制衡+分工协作:
三权分立下三大管理员:

管理员 用户名 职责
数据库管理员 SYSDBA 数据库建设、维护、备份恢复、性能管理
数据库安全员 SYSSSO 安全策略和强制访问控制管理
数据库审计员 SYSAUDITOR 设置审计策略、查看和分析审计记录
四权分立在三权分立基础上增加 SYSDBO(数据库对象操作员) ,将数据对象的创建和操作职责从SYSDBA中拆分出来,四权分立下,SYSDBA更偏向系统管理与维护,不能对数据内容进行增删改查操作。
配置方式:建库时通过参数 PRIV_FLAG 设置,0表示三权分立,1表示四权分立,此参数仅在DM安全版本下提供。

1.3 运维建议

(1)生产环境建议采用四权分立,实现更细粒度的职责分离;
(2)日常运维中,严禁使用SYSDBA进行业务数据的增删改查;
(3)各管理员账号密码应定期更换,且由不同人员保管。

二、用户管理

2.1 运维需求

为不同角色(开发、测试、运维、应用)创建独立的数据库账号,对用户进行身份认证,防止非法登录,对用户资源进行限制,防止个别用户耗尽系统资源。

2.2 创建用户

创建用户通常由SYSDBA、SYSSSO或SYSAUDITOR完成,普通用户需具有 CREATE USER 权限,执行以下sql创建普通用户,并指定默认表空间和资源限制:

CREATE USER app_user IDENTIFIED BY App_Pwd_2026;
CREATE USER dev_user 
IDENTIFIED BY Dev_Pwd_2026
LIMIT SESSION_PER_USER 5,           -- 最多5个并发会话
      CONNECT_IDLE_TIME 30,          -- 空闲30分钟自动断开
      FAILED_LOGIN_ATTEMPS 5,        -- 登录失败5次锁定
      PASSWORD_LIFE_TIME 90        -- 密码有效期90天
DEFAULT TABLESPACE USERS
QUOTA 100M ON USERS;

image.png

2.3 用户认证方式

用户认证方式主要有以下五种:

认证方式 适用场景
数据库身份验证 最常用,通过用户名口令登录
操作系统身份验证 本机或远程 OS 认证
LDAP 认证 企业统一身份认证
SSL 双因子认证 高安全场景
KERBEROS 认证 域环境集成

2.4 用户锁定与解锁

当用户账号被攻击或员工离职等情况,需要及时锁定用户,避免数据泄露等安全风险,执行sql语句锁定用户:

ALTER USER app_user ACCOUNT LOCK;

image.png

执行sql解锁用户:

ALTER USER app_user ACCOUNT UNLOCK;

image.png

2.5 IP和时间段访问控制

设置IP白名单只允许特定IP访问,或设置IP黑名单禁止特定IP访问,执行sql语句:

ALTER USER app_user ALLOW_IP "10.32.29.27","192.168.141.1";
ALTER USER app_user NOT_ALLOW_IP "192.168.138.132";

image.png

设置允许登录时间段,执行sql语句:

ALTER USER app_user ALLOW_DATETIME "2026-08-19" "09:00:00" TO "2026-08-19" "10:00:00";

image.png

执行sql取消限制:

ALTER USER app_user ALLOW_DATETIME NULL;

image.png

2.6 运维建议

(1)最小权限原则:用户只授予完成任务所需的最小权限;
(2)强密码策略:密码不低于9位,包含大写字母、数字、特殊字符;
(3)IP白名单:对重要业务用户设置IP白名单;
(4)定期审计:通过 DBA_USERS 视图定期检查用户状态。
image.png

三、权限体系

3.1 运维需求

控制用户能对数据库系统做什么操作,对具体对象数据做什么操作,能够灵活授予和回收权限。

3.2 权限分类

达梦数据库权限分为两大类:
(1)系统权限、数据库权限 :针对数据库本身的操作,如创建、删除、修改数据库对象,备份数据库等

常用系统权限 说明
CREATE USER 创建用户
CREATE TABLE 在自己的模式中创建表
CREATE VIEW 在自己的模式中创建视图
CREATE ROLE 创建角色
SELECT ANY TABLE 查询任意模式中的表
BACKUP DATABASE 备份数据库
ALTER DATABASE 修改数据库

(2)对象权限:对特定数据库对象,例如表、视图、存储过程等的操作权限

对象权限 说明
SELECT 查询表、视图数据
INSERT 插入数据
UPDATE 更新数据
DELETE 删除数据
EXECUTE 执行存储过程、函数
REFERENCES 创建外键约束

3.3 授予权限

授予系统权限:

GRANT CREATE TABLE, CREATE VIEW TO dev_user;

授予系统权限并允许转授:

GRANT CREATE USER TO admin_user WITH ADMIN OPTION;

授予对象权限(表级):

GRANT SELECT, INSERT, UPDATE ON TYLOO_DB.GAME TO app_user;

授予对象权限(模式级),达梦数据库默认没有开启按模式授权的功能,修改静态参数GRANT_SCHEMA 为1,重启服务之后进行授权:

GRANT SELECT ON SCHEMA TYLOO_DB TO dev_user;

3.4 回收权限

回收系统权限:

REVOKE CREATE TABLE FROM dev_user;

回收对象权限:

REVOKE SELECT, INSERT ON TYLOO_DB.GAME FROM app_user;

回收模式级权限:

REVOKE SELECT ON SCHEMA TYLOO_DB FROM dev_user;

3.5 权限查询

查询用户拥有的系统权限:

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'APP_USER';

查询用户拥有的对象权限:

SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'APP_USER';

查询当前用户权限:

SELECT * FROM USER_SYS_PRIVS;

3.6 运维建议

(1)按模式授权:开启 GRANT_SCHEMA=1 参数可实现按模式批量授权;
(2)避免使用 ANY 权限:SELECT ANY TABLE 等权限范围过大,应尽量使用具体对象授权;
(3)定期权限审计:定期导出权限清单,review是否存在过度授权。

四、审计管理

4.1 运维需求

满足等保合规要求,必须开启审计日志,方便追踪敏感操作,例如谁在什么时间做了什么,并为安全事故调查提供依据。

4.2 审计体系

达梦审计分为三个层次,所有审计开关启停、审计策略配置、日志查看,仅审计管理员 SYSAUDITOR 可操作:

审计级别 说明
系统审计 对数据库系统级操作的审计
语句级审计 对特定 SQL 语句类型的全局审计
对象级审计 对特定数据库对象的操作审计

4.3 审计规则配置

首先以审计员SYSAUDITOR登录,然后开启审计功能(1=普通审计,2=普通审计+实时审计)执行

SP_SET_ENABLE_AUDIT(1);

(1)语句级审计
审计所有表的创建、修改和删除操作

SP_AUDIT_STMT('TABLE', 'SYSDBA', 'ALL');

审计SYSDBA创建用户的成功操作

SP_AUDIT_STMT('USER', 'SYSDBA', 'SUCCESSFUL');

审计SYSDBA对表的修改和删除(无论成功失败)

SP_AUDIT_STMT('UPDATE TABLE', 'SYSDBA', 'ALL');
SP_AUDIT_STMT('DELETE TABLE', 'SYSDBA', 'ALL');

(2)对象级审计
审计SYSDBA对表PERSON.ADDRESS的插入和更新操作(仅成功)

SP_AUDIT_OBJECT('INSERT', 'SYSDBA', 'TYLOO_DB', 'GAME', 'SUCCESSFUL');
SP_AUDIT_OBJECT('UPDATE', 'SYSDBA', 'TYLOO_DB', 'GAME', 'SUCCESSFUL');

审计对特定列的更新操作

SP_AUDIT_OBJECT('UPDATE', 'SYSDBA', 'TYLOO_DB', 'GAME', 'GAME_DATE', 'SUCCESSFUL');

通过视图查看审计日志:

SELECT * FROM SYSAUDITOR.V$AUDITRECORDS;

4.4 运维建议

(1)必须开启审计:等保合规基本要求;
(2)审计重要操作:用户创建/删除、权限变更、表结构变更、敏感表的DML操作;
(3)审计日志保护:审计日志应单独存储,防止被篡改或删除;
(4)定期归档:审计日志应定期归档并保留至少180天。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服