达梦数据库作为国产主流数据库管理系统,实现了严格的三权分立安全管理模型,将数据库管理权限划分为系统管理员、安全管理员和审计管理员三个相互独立又相互制约的角色。这种设计符合国家信息安全等级保护要求,特别适用于政府、金融等对数据安全要求严格的场景。
角色类型 | 默认用户名 | 核心职责 | 权限边界 |
---|---|---|---|
系统管理员 | SYSDBA | 数据库实例管理、空间配置、性能调优 | 无权操作用户和权限 |
安全管理员 | SYSSSO | 用户管理、权限分配、密码策略控制 | 无权访问业务数据 |
审计管理员 | SYSAUDIT | 审计策略配置、日志分析、违规检测 | 无权修改系统配置 |
-- 安装时自动创建三权账户
-- 系统管理员: SYSDBA (默认密码SYSDBA)
-- 安全管理员: SYSSSO (默认密码SYSSSO)
-- 审计管理员: SYSAUDIT (默认密码SYSAUDIT)
-- 首次登录必须修改密码(达梦强制要求)
ALTER USER SYSSSO IDENTIFIED BY "Dm@SSO_2023";
ALTER USER SYSAUDIT IDENTIFIED BY "Audit#Secure123";
-- 查看各角色系统权限
SELECT * FROM SYSAUTH.SYSTABAUTH
WHERE GRANTEE IN ('SYSDBA','SYSSSO','SYSAUDIT');
-- 检查权限继承关系
WITH RECURSIVE privs AS (
SELECT GRANTEE, GRANTEDROLE FROM SYSAUTH.SYSROLEAUTH
UNION ALL
SELECT p.GRANTEE, r.GRANTEDROLE
FROM privs p JOIN SYSAUTH.SYSROLEAUTH r ON p.GRANTEDROLE = r.GRANTEE
)
SELECT DISTINCT GRANTEE FROM privs WHERE GRANTEDROLE = 'DBA';
-- 创建业务用户(强制密码复杂度)
CREATE USER fin_user IDENTIFIED BY "Fin@2023#Pwd"
DEFAULT TABLESPACE FINANCE_DATA
PROFILE STRONG_PWD_PROFILE
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1;
-- 设置多因素认证
ALTER USER fin_user ENABLE 2FA
USING TOTP SECRET 'JBSWY3DPEHPK3PXP';
-- 权限最小化分配
GRANT SELECT, INSERT ON finance.transactions TO fin_user;
-- 表空间加密(使用国密算法)
CREATE TABLESPACE secure_data
DATAFILE '/dmdata/secure01.dbf' SIZE 10G
ENCRYPTION USING 'SM4'
ENCRYPT BY "EncryptKey123!";
-- 资源限制配置
ALTER PROFILE app_limit SET
SESSIONS_PER_USER 10
CPU_PER_SESSION 300000
CONNECT_TIME 480;
-- 细粒度审计策略
AUDIT SELECT, UPDATE, DELETE ON finance.*
BY fin_user WHENEVER SUCCESSFUL;
-- 敏感数据访问监控
CREATE AUDIT POLICY sensitive_access
ACTIONS SELECT ON salaries.salary_data,
EXECUTE ON PROCEDURE hr.calculate_bonus;
-- 审计日志分析(检测异常登录)
SELECT username, client_ip, action_name, timestamp
FROM SYS.AUDIT_LOG
WHERE action_name = 'LOGIN' AND timestamp > SYSDATE-1
ORDER BY timestamp DESC;
-- 创建对象管理员角色
CREATE ROLE obj_admin WITH IDENTIFIED BY "Obj@123";
-- 分配对象管理权限
GRANT CREATE TABLE, CREATE VIEW, CREATE PROCEDURE TO obj_admin;
-- 典型操作示例
CREATE TABLE hr.employees (
id NUMBER PRIMARY KEY,
name VARCHAR2(100) ENCRYPT USING 'SM4'
) TABLESPACE secure_data;
-- 安全策略示例:防止权限滥用
CREATE SECURITY POLICY finance_policy
RESTRICT DBA_ROLE FROM GRANTING ANY PRIVILEGE ON finance.*
TO NON_FINANCE_USERS;
-- 列级加密
CREATE TABLE medical_records (
patient_id NUMBER ENCRYPT USING 'SM4',
diagnosis VARCHAR2(500) ENCRYPT USING 'SM4'
);
-- 传输加密配置
ALTER SYSTEM SET SSL_CIPHER_LIST = 'SM2-WITH-SM4-SM3';
-- 安全标签定义
CREATE LABEL POLICY gov_policy
LEVELS 公开, 内部, 秘密, 机密;
-- 数据标签应用
INSERT INTO documents VALUES (
1,
'机密报告',
'内容...'
) LABEL (LEVEL 机密);
-- 检查越权风险
SELECT * FROM SYSAUTH.SYSTABAUTH
WHERE GRANTEE = 'SYSDBA' AND PRIVILEGE LIKE '%USER%';
-- 验证审计完整性
SELECT policy_name, enabled, audit_condition
FROM SYS.AUDIT_POLICIES
WHERE policy_owner = 'SYSAUDIT';
-- 密码策略验证
SELECT * FROM SYS.PASSWORD_POLICY
WHERE profile_name = 'STRONG_PWD_PROFILE';
-- 加密状态检查
SELECT tablespace_name, encrypted
FROM SYS.DBA_TABLESPACES
WHERE encrypted = 'YES';
特性 | 达梦数据库 | Oracle数据库 |
---|---|---|
密码算法 | 原生支持SM2/SM3/SM4国密 | 需额外采购安全模块 |
安全认证 | 通过等保四级、军B+认证 | 国际通用安全认证 |
审计粒度 | 支持到字段级的敏感数据审计 | 需额外配置Oracle Data Redaction |
国产化适配 | 完全自主可控,兼容国产CPU/OS | 依赖国际生态 |
四权分立 | 原生支持对象管理员角色 | 需Database Vault实现类似功能 |
[应用服务器] ← TLS 1.3 →
[达梦数据库集群]
├─ 系统管理节点(SYSDBA)
├─ 安全管理节点(SYSSSO)
├─ 审计管理节点(SYSAUDIT)
└─ 对象管理节点(SYSDBAOBJ)
|
[国产加密机] ← 硬件级密钥管理
最佳实践建议:
CHECK_SECURITY_CONFIG
合规检查达梦的三权分立机制已成功应用于:
通过这种严格的分权制衡设计,达梦数据库能够有效防范内部越权操作,满足《网络安全法》和《数据安全法》的合规要求,为关键信息基础设施提供可靠的数据安全保障。