注册
DM数据库用户权限与角色管理
专栏/培训园地/ 文章详情 /

DM数据库用户权限与角色管理

Sunshine 2022/12/01 8323 11 0
摘要

一、用户管理

达梦数据库的非安全版本是三权分立,安全版本为是权分立。

----查看达梦数据库系统中的所有用户信息
select * from dba_users;

达梦数据库内置用户如下:
SYSSSO:系统安全员
SYSDBA:系统管理员
SYS:内置用户,不能直接登录
SYSAUDITOR:系统审计员,用于审计相关功能。

----查看用户的口令策略参数信息
select * from v$dm_ini t where t.para_name = ‘PWD_POLICY’;

----更改用户口令策略参数值
alter system set ‘PWD_POLICY’ = 7 BOTH;

参数值含义

设置系统默认口令策略。
0: 无策略;
1: 禁止与用户名相同;
2: 口令长度不小于 9;
4: 至少包含一个大写字母(A-Z);
8 :至少包含一个数字(0-9);
16:至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号);
若为其他数字,则表示配置值的和,如 7=1+2+4,表示 同时启用“禁止与用户名相同”,“口令长度不小于 9”,“至少包含一个大写字母(A-Z)”策略。

口令策略

系统默认口令策略是创建用户时的口令策略,不是数据库用户当前的口令策略。

----查看数据库用户的口令策略 dba_users.PASSWORD_VERSIONS
select t.ACCOUNT_STATUS, t.USERNAME, t.USER_ID,t.PASSWORD_VERSIONS from dba_users t;

默认情况下,用户登录密码错误超过三次,用户就会被锁定。
----查看用户的资源限制
select * from sysusers;

----以下操作基本与Oracle相同
修改用户密码
alter user u1 identified by Dameng123;

修改用户默认表空间
alter user u1 default tablespace tbstest;

修改用户资源限制
alter user u1 LIMIT FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 15 ;

锁定/解锁用户
alter user u1 account unlock;
alter user u1 account lock;

二、权限管理

权限包含系统权限和对象权限。
基于某个数据库对象的查询、操作等为对象权限。

相关数据字典
select * from DBA_SYS_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----系统权限
select * from DBA_TAB_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----对象权限
select * from DBA_ROLE_PRIVS t where T.GRANTEE = 'TESTUSER; ----角色
select * from DBA_COL_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----列权限

查看当前用户拥有的权限信息
select * from session_privs;

授权操作
grant create table to u1 WITH admin OPTION;
grant r1 to u1;
revoke r1 from u1;

----对象级联授权和回收
如果在授予对象权限时指定 with grant option,则回收时需要增加 cascade 关键字级联回收权限。
grant select on dmhr.department to u1 WITH grant OPTION;
revoke select on dmhr.department from u1 CASCADE;

----列权限
赋予查询某张表部分列的权限
grant select (employee_id, employee_name, email) on dmhr.employee to u1;

三、角色管理

----查看系统所有角色信息
select * from dba_roles;

----内置角色分类
DB_AUDIT 开头为审计相关角色,默认赋给了 SYSAUDITOR;
DB_POLICY 开头的为安全相关角色,默认赋给 SYSSSO;
其他 DBA、RESOURCE、PULIBC、SOI、VTI 等默认赋给了 SYSDBA。
DBA:系统管理员角色,拥有除审计和强制访问控制之外的几乎所有权限,
RESOURCE:拥有 CREATE 创建表、索引、视图等对象定义的权限和数据操作权限(DML 操作)。
PULIBC:拥有数据操作权限(增删改查操作),没有创建表、视图等对象定义权限。
SOI:具有查询系统表(SYS 开头的)查询权限。
VTI 具有查询动态视图(v$开头的)权限。

角色禁用和启用
SP_SET_ROLE(‘R1’,0)
角色禁用后,对应的权限也不再生效。

创建角色
create role r2;

赋予角色权限(可以是对象权限、系统权限,也可以是角色权限)
grant r1 to r2;
grant create table to r2;
grant select on dmhr.department to r2;
create user u1 IDENTIFIED by Dameng123;
grant r2 to u1;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服