注册
DM8安全机制:三权/四权分立、审计与加密
专栏/技术分享/ 文章详情 /

DM8安全机制:三权/四权分立、审计与加密

wwwwww 2026/09/18 436 0 0
摘要

1. 总览

达梦安全管理保护数据的机密性、完整性、可用性。安全功能体系分八类:

  1. 用户标识与鉴别(登录账户 + 口令防冒充);
  2. 自主访问控制 DAC(权限管理);
  3. 强制访问控制 MAC(安全标记);
  4. 审计(操作留痕);
  5. 通信、存储加密;
  6. 加密引擎(自定义算法);
  7. 资源限制(防恶意资源抢占);
  8. 客体重用(内存与磁盘空间释放清理)。

标准版、企业版安全功能相同,统称普通版本,提供前 7 类(除 MAC);安全版额外提供四权分立和强制访问控制。

2. 三权分立与四权分立

建库参数 PRIV_FLAG:0 三权分立(缺省),1 四权分立(仅安全版)。

模式 用户 职责
三权 SYSDBA 数据库管理员 DBA
三权 SYSSSO 安全员 SSO
三权 SYSAUDITOR 审计员 AUDITOR
四权 上述 + SYSDBO 对象操作员 DBO

2.1 三权各用户职责

  • DBA(SYSDBA):评估环境、安装升级、库结构设计、性能优化、备份恢复。三权下 DBA 可对数据增删改查。
  • SSO(SYSSSO):制定安全策略,定义安全级别/范围/组,创建安全标记应用到主体与客体。不能对用户数据增删改查,也不能建表等普通 DDL。可约束 SYSDBA 访问带标记的数据。
  • AUDITOR(SYSAUDITOR):设置审计策略,查看分析审计记录,创建删除审计员。

2.2 四权变化

四权下 DBA 只能系统管理与维护,不能对数据增删改查,数据操作由 DBO 承担。四权 DBA 相比三权:

  1. 取消权限较大的 ANY 权限;
  2. 取消数据库对象创建、增删改查、对象权限管理;
  3. 只保留管理维护相关权限(库创建、备份、还原、校验)。

DBO:可创建库对象,对自己拥有的对象(表、视图、存储过程、序列、包等)有全部对象权限并可授出回收,但不能管理与维护库。

SYS 用户仅保存系统内部对象,无法登录。

3. 用户与身份验证

3.1 用户管理

CREATE USER app_user IDENTIFIED BY "Abc12345"; ALTER USER app_user IDENTIFIED BY "NewPass1" LIMIT FAILED_LOGIN_ATTEMPS 5; DROP USER app_user RESTRICT; -- 有对象时需 CASCADE DROP USER app_user CASCADE;

删除用户默认 RESTRICT,用户已建对象需 CASCADE。删除使用中的用户其后续操作报错。ALTER USER 无论 DDL_AUTO_COMMIT 如何都会自动提交。

3.2 口令策略

PWD_POLICY(值 15/31)控制口令复杂度、有效期、失败锁定:

SP_SET_PARA_VALUE(2, 'PWD_POLICY', 15);

3.3 认证方式

方式 说明
数据库口令 最常用
操作系统认证 ENABLE_LOCAL_OSAUTH / ENABLE_REMOTE_OSAUTH
LDAP / KERBEROS / RADIUS 企业统一认证(RADIUS 配 dmradius.ini)
SSL 双因子 / UKEY 高强度认证

4. 访问控制

4.1 自主访问控制(DAC)

基于数据库权限、对象权限、角色:

GRANT SELECT, INSERT ON app_user.t TO report_user; GRANT PUBLIC TO app_user;

授 ALTER USER 权限要谨慎,持权者可改所有用户口令与资源限制。

4.2 强制访问控制(MAC)

基于安全标记(安全级别、范围、组),作用于主体(用户)与客体(对象),仅安全版提供。相比 DAC 用户自主授权,MAC 是系统强制、不可绕过的访问控制。

5. 审计

支持系统级、语句级、对象级、语句序列四种审计级别:

SP_AUDIT_STMT('TABLE', 'NULL', 'ALL'); SELECT * FROM V$AUDITRECORDS;

审计文件由 SYSAUDITOR 管理,可配置审计开关、审计文件大小与空间限制。

6. 加密

6.1 通信加密

传输层 SSL(ENABLE_ENCRYPT=1)+ 消息包加密。

6.2 存储加密

类型 说明
透明加密 全库 / 表空间 / 表列
半透明加密 部分透明
非透明加密 重做日志等

支持第三方加密引擎(OPENSSL、渔翁加密卡)。

-- 全库加密在建库时指定 dminit ... ENCRYPT_NAME=AES256 ENCRYPT_PASSWORD="Abc12345" -- 表列加密 CREATE TABLE t (id INT, secret VARCHAR(100) ENCRYPT);

7. 资源限制

ALTER USER app_user LIMIT SESSION_PER_USER 10, -- 会话数上限 CONNECT_IDLE_TIME 30, -- 空闲超时(分钟) CPU_PER_SESSION 1000, -- 单会话 CPU 限制 MEM_SPACE 1024, -- 内存限制 FAILED_LOGIN_ATTEMPS 5, -- 口令失败次数 PASSWORD_LOCK_TIME 10; -- 口令锁定时间

资源限制用于防止单用户耗尽系统资源。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服