达梦中的三权分立与四权分立
"三权分立"时系统内置三种系统管理员,包括数据库管理员、数据库安全员和数据库审计员,四权分立”时新增了一类用户,称为数据库对象操作员。它们各司其职,互相制约,有效地避免了将所有权限集中于一人的风险,保证了系统的安全性。
数据库管理员(DBA)
三权分立:负责评估数据库运行所需的软、硬件环境、安装和升级 DM数据库、配置 DM数据库参数、创建主要的数据库存储结构(表空间)和对象(如表、视图、索引、角色、用户等)、监控和优化数据库性能、数据导入导出以及数据库的备份和恢复等。
四权分立:在原有“三权分立”基础上调整自主访问控制权限,只具有“三权分立”中 DBA角色预设的一部分与数据库管理相关的明确的数据库权限,如数据库创建、备份、还原和校验等。
数据库安全员(SSO)
制定安全策略,定义新的数据库安全员,设置系统的安全等级、范围和组,并为主、客体定义安全标记,从而全面提升系统安全性。
数据库审计员(AUDITOR)
数据库审计员可以设置要审计的对象和操作、定义新的数据库审计员、查看和分析审计记录。
数据库对象操作员(DBO)
数据库对象操作员是“四权分立”新增加的一类用户,可以创建数据库对象,并对自己拥有的数据库对象(表、视图、存储过程、序列、包、外部链接)具有所有的对象权限并可以授出与回收,但其无法管理与维护数据库对象。
一、管理表空间
1.1介绍表空间
select TABLESPACE_NAME,STATUS from dba_tablespaces;
System表空间: 数据字典和全局的系统数据。
ROLL表空间:存放了数据库运行过程中产生的回滚记录。
UNOD_RETENTION:单位秒。
TEMP表空间:临时表空间。
MAIN表空间:数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。
HMAIN表空间:huge 表空间。
1.2查看所有表空间信息
可以通过查询动态视图 V$TABLESPACE 得到系统中所有表空间的信息,通过查询动态视图 V$DATAFILE 得到系统中所有数据文件的信息。
1.3创建表空间
理论上最多允许有 65535 个表空间,但用户允许创建的表空间 ID 取值范围为
0~32767,超过 32767 的只允许系统使用,ID 由系统自动分配,ID 不能重复使用,即使删除掉已有表空间,也无法重复使用已用 ID 号,也就是说只要创建 32768 次表空间后,用户将无法再创建表空间。
a.表空间初始文件的大小是页大小的4096倍。
create tablespace tbs1 datafile ‘/home/dmdba/dmdbms/DAMENG/tbs1_01.dbf’ size 128;
b.创建一个表空间,初始大小128M,最大300M.
c.创建一个表空间,初始大小128M,每次扩展1M,最大300M。
d.创建一个表空间,初始128M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1M,每个数据文件最大300M。
1.4维护表空间
表空间不足时,有一下方法维护表空间:
a.创建大表空间,数据导出,导入。
b.扩展数据文件的大小
c.添加数据文件
添加的数据文件大小最小为 4096*页大小。一个表空间中,数据文件和镜像文件一起不能超过 256 个。
SQL> alter tablespace tbs1 add datafile '//home/dmdba/dmdbms/DAMENG/tbs1_02.dbf' size 200;
1.5更改储存位置
达梦表空间的状态:0 —online;1 ----- offline
注意:SYSTEM,ROLL, TEMP 不能offline;
使表空间脱机
修改存储位置
表空间online
1.6删除表空间
注:如果表空间存有数据,不允许直接删除!!
1.7查看表空间中有那些表
SQL> select table_name,tablespace_name from dba_tables where tablespace_name=‘TT1’;(表空间名要大写)
二、管理用户
2.1达梦数据库的用户
SYSSSO——安全用户
SYSDBA——数据库管理员
TEST——系统用户
SYS——达梦数据库的内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图
SYSAUDITOR——审计用户
(安全版还会有:SYSDBO——数据操作员)
2.2规划用户
名字:字母开头,a-z,0-9,$#_
位置:
Create tablespace
密码:
口令策略:
用户密码最长为48个字节,创建用户语句使用 password policy子句来指定口令策略。(DM.INI PWD_POLICY)
系统支持的口令策略:
0 无策略
1 禁止与用户名相同
2 口令长度不小于9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文状态输入,除”和空格外)
口令可以单独使用,也可以组合使用,比如需要应策略1和2,
则设置口令策略为:3
密码尝试登录次数 FAILED_LOGIN_ATTEMPS
密码失败锁定时间 PASSWORD_LOCK_TIME
密码过期时间 PASSWORD_LIFE_TIME
设置一个用户,该用户可以创建自己的表,有属于自己的独立表空间,用户密码要求每60天变更一次。
a.创建表空间tbs5
SQL> create tablespace tbs5 datafile ‘/home/dmdba/dmdbms/DAMENG/tbs5_01.dbf’ size 128;
b.创建用户tbs5,密码为dameng123,有自己的独立存储空间tbs5,密码60天变更一次。
create user tbs5 identified by dameng123 limit password_life_time 60 default tablespace tbs5;
2.3修改密码
将用户tbs5的密码修改为dameng321
2.4 锁定用户
锁定用户tbs5,使其无法登录和进行操作。
2.5 解锁用户
连接数据库后,解锁用户tbs5。
2.6 删除用户
删除用户tbs5。
2.7规划用户权限
对象权限(表,视图,过程等等)select delete update insert
2.7.1查看角色
SQL> select role from dba_roles;
2.7.2查看用户相应的角色和权限
SQL> select grantee,granted_role from dba_role_privs where grantee=‘tbs5’;
2.7.3查询角色所拥有的权限
SQL> select grantee,privilege from dba_sys_privs where grantee=‘PUBLIC’;
2.7.4赋权给用户
赋权给用户tt1,并在tt1用户下创建表t1
Grant []
三、管理模式
模式:一组数据对象的集合,为了安全,创建用户的时候,就会生成一个跟用户同名的模式
3.1创建模式
创建模式tt2,使其属于用户tt1
SQL> create schema “tt2” authorization “tt1”;
3.2删除模式
SQL> drop schema tt2;
四、管理角色
4.1查看所有角色
SQL> select * from dba_roles;
4.2创建角色
创建角色role_test;
SQL> create role role_test;
4.3给角色赋权
将角色role_test赋权给用户rtest,并使用户的角色只属于role_test,通过查看可发现用户现在没有任何权限。
登录SYSDBA后给角色role_test赋权,测试后发现用户rtest拥有了该权限
4.4删除角色
删除角色role_test.
五、权限管理
5.1权限分类
5.1.1系统权限
操作数据对象本身的权限:create,alter,drop等
5.1.2对象权限
操作数据库对象内部数据的权限:insert,update,delete,select等
5.1.3角色权限
一组系统权限和对象权限的集合。
5.2授权
5.2.1系统权限
Grant 权限 to 用户或者角色名(with admin option);
授权者须具有对应的数据库权限及其转授权;
接受者必须与授权者用户类型一致;
如果有WITH ADMIN OPTION选项,接受者可以把这些权限转授给其他用户/角色.
5.2.2角色权限
Grant all privileges|select|insert|delete|update on 模式对象名 to 用户或者角色名(with grant option);
授权者必须是具有对应对象权限及其转授权限的用户;
如未指定对象的模式名,模式为授权者所在的模式.DRECTORY为非模式对象,没有模式;
如设定了对象类型,则该类型必须与对象的实际类型一致,否则会报错;
带WITH GRANT OPTION授予权限给用户时,接受权限的用户可转授此权限;
不带列清单授权时,如果对象上存在同类型的列权限,会全部自动合并;
对于用户所在的模式的表,用户具有所有权限而不需特别指定;
当授权语句中使用了ALL PRIVILEGES时,会将指定的数据库对象上所有的对象权限都授予被授权者.
5.3撤销权限
5.3.1系统权限
revoke 权限 from 用户或者角色名 (admin option for)
权限回收者必须是具有回收相应数据库权限以及转授权的用户;
ADMIN OPTION FOR选项的意义是取消用户或角色的转授权限,但是权限不回收.
5.3.2角色权限
Revoke all privilegs|select|insert|delete|update on 模式对象名 to 用户或者角色名
权限回收者必须是具有回收相应对象权限以及转授权的用户;
回收时不能带列清单,若对象上存在同类型的列权限,则一并被回收;
使用GRANT OPTION FOR选项的目的是回收用户或角色权限转授的权利,而不回收用户或角色的权限;并且GRANT OPTION FOR选项不能和RESTRICT一起使用,否则会报错;
在回收权限时,设定不同的回收选项,其意义不同
若不设定回收选项,无法回收授予时带WITH GRANT OPTION的权限,但也不会检查要回收的权限是否存在限制;
若设定为RESTRICT,无法回收授予时带WITH GRANT OPTION的权限,也无法回收存在限制的权限,如角色上的某权限被别的用户用于创建视图等;
若设定为CASCADE,可回收授予时或不带WITH GRANT OPTION的权限,若带WITH GRANT OPTION还会引起级联回收。
https://eco.dameng.com
文章
阅读量
获赞