达梦安全管理保护数据的机密性、完整性、可用性。安全功能体系分八类:
标准版、企业版安全功能相同,统称普通版本,提供前 7 类(除 MAC);安全版额外提供四权分立和强制访问控制。
建库参数 PRIV_FLAG:0 三权分立(缺省),1 四权分立(仅安全版)。
| 模式 | 用户 | 职责 |
|---|---|---|
| 三权 | SYSDBA | 数据库管理员 DBA |
| 三权 | SYSSSO | 安全员 SSO |
| 三权 | SYSAUDITOR | 审计员 AUDITOR |
| 四权 | 上述 + SYSDBO | 对象操作员 DBO |
四权下 DBA 只能系统管理与维护,不能对数据增删改查,数据操作由 DBO 承担。四权 DBA 相比三权:
DBO:可创建库对象,对自己拥有的对象(表、视图、存储过程、序列、包等)有全部对象权限并可授出回收,但不能管理与维护库。
SYS 用户仅保存系统内部对象,无法登录。
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 如何都会自动提交。
PWD_POLICY(值 15/31)控制口令复杂度、有效期、失败锁定:
SP_SET_PARA_VALUE(2, 'PWD_POLICY', 15);
| 方式 | 说明 |
|---|---|
| 数据库口令 | 最常用 |
| 操作系统认证 | ENABLE_LOCAL_OSAUTH / ENABLE_REMOTE_OSAUTH |
| LDAP / KERBEROS / RADIUS | 企业统一认证(RADIUS 配 dmradius.ini) |
| SSL 双因子 / UKEY | 高强度认证 |
基于数据库权限、对象权限、角色:
GRANT SELECT, INSERT ON app_user.t TO report_user;
GRANT PUBLIC TO app_user;
授 ALTER USER 权限要谨慎,持权者可改所有用户口令与资源限制。
基于安全标记(安全级别、范围、组),作用于主体(用户)与客体(对象),仅安全版提供。相比 DAC 用户自主授权,MAC 是系统强制、不可绕过的访问控制。
支持系统级、语句级、对象级、语句序列四种审计级别:
SP_AUDIT_STMT('TABLE', 'NULL', 'ALL');
SELECT * FROM V$AUDITRECORDS;
审计文件由 SYSAUDITOR 管理,可配置审计开关、审计文件大小与空间限制。
传输层 SSL(ENABLE_ENCRYPT=1)+ 消息包加密。
| 类型 | 说明 |
|---|---|
| 透明加密 | 全库 / 表空间 / 表列 |
| 半透明加密 | 部分透明 |
| 非透明加密 | 重做日志等 |
支持第三方加密引擎(OPENSSL、渔翁加密卡)。
-- 全库加密在建库时指定
dminit ... ENCRYPT_NAME=AES256 ENCRYPT_PASSWORD="Abc12345"
-- 表列加密
CREATE TABLE t (id INT, secret VARCHAR(100) ENCRYPT);
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; -- 口令锁定时间
资源限制用于防止单用户耗尽系统资源。
文章
阅读量
获赞
