暂无图片
暂无图片
14
暂无图片
暂无图片
暂无图片

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

原创 2021-09-07
14145

一、用户管理

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

----查看达梦数据库系统中的所有用户信息
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’ = 15 BOTH;

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

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

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

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

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

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

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

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

权限管理

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

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

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

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

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

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

角色管理

–查看系统所有角色信息
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
角色禁用后,对应的权限也不再生效。

创建角色
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;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论