grant with admin option and grant with grant option

通过grant语句可以将系统权限和角色授予用户或者角色。但是必须满足如下的条件:

  • 对于系统权限,执行用户需要具有 GRANT ANY PRIVILEGE权限或者具有被授予的权限(WITH ADMIN OPTIONS)
  • 对于角色,执行用户需要具有GRANT ANY ROLE系统权限或者具有被授予角色(with admin options)

with admin option:

  • 只是针对系统权限和角色,对于对象权限不可以使用
  • 被授予用户可以授予或者回收其该系统权限或者角色,用户不可以回收自己的权限和角色
  • 被授予用户可以使用该权限和角色的with admin option选项
  • 被授予用户可以删除或者更改被授予的角色(drop or alter)

with grant option:

  • 只限于对象权限,
  • 必须是对象的拥有者,或者具有grant any object privilege系统权限,或者具有相应权限(with grant option)
  • 如果用户具有某表的对象权限(with grant option),并依附该表创建视图,那么该用户可以授权视图的权限给其他用户
  • 当我们将对象权限(with grant option)赋予某角色,拥有该角色的用户不会继承或者传播WITH GRANT OPTION

如果某个用户具有GRANT ANY OBJECT PRIVILEGE系统权限,那么他可以管理其他用户的对象权限。此时在dba_tab_privs中相应记录的grantor字段值为对象的拥有者,即GRANT ANY OBJECT PRIVILEGE具有替代对象拥有者执行权限管理的特点。

如果某个用户A,具有其他用户B的对象权限(with grant option),那么当用户A授权该对象权限给其他用户时,DBA_TAB_PRIVS 中的对应GRANTOR字段为用户A。

SQL> grant grant any object privilege to scott;
SQL> conn scott/tiger
已连接。
SQL> grant select  on easy.tab1 to tts with grant option;

授权成功。

SQL> grant select  on easy.tab1 to abcd ;

授权成功。
SQL> CONN tts/tts
已连接。
SQL> show user
USER 为 "TTS"
SQL> grant select on easy.tab1 to sh;
SQL> /

GRANTEE 		       GRANTOR			      PRIVILEGE 			       GRA
------------------------------ ------------------------------ ---------------------------------------- ---
SH			       TTS			      SELECT				       NO
ABCD			       EASY			      SELECT				       NO
TTS			       EASY			      SELECT				       YES
我们还可以在列级别管理用户的对象权限,例如

GRANT INSERT (acct_no) ON accounts TO psmith;

另外,通过VPD和ORACLE Label Security(OLS),ORACLE 为我们提供了行级别的控制能力,有兴趣的同学可以查看官方文档。


贴士:我们可以使用grant语句来创建用户,例如GRANT CREATE SESSION TO NEW_USER IDENTIFIED BY PASSWORD,如果new_user不存在,则以password为密码创建用户new_user。

贴士:系统权限和对象权限不可以在同一个grant语句中赋予。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第4章 数据库安全性 1. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破 坏。 2. 数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据 库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突 出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密 联系、相互支持的。 3. 试述信息安全标准的发展历史,试述CC评估保证级划分的基本内容。 信息安全标准的发展简史 "评估保证级 "定义 "TCSEC安全级别 " " " "(近似相当) " "EAL1 "功能测试 " " "EAL2 "结构测试 "C1 " "EAL3 "系统地测试和检查 "C2 " "EAL4 "系统地设计、测试和复查"B1 " "EAL5 "半形式化设计和测试 "B2 " "EAL6 "半形式化验证的设计和测"B3 " " "试 " " "EAL7 "半形式化验证的设计和测"A1 " " "试 " " CC评估保证级(EAL)的划分 4. 试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次 用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所 有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户 隐藏起来,从而自动地对数据提供一定程度的安全保护。 4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,D BA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取 数据的人、时间和内容等。 5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获 知数据的内容。 5. 什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访 问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也 被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能 存取某一个密级的数据对象。 6. 对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1) 授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2) 授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3) 将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4) 将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5) 将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7. 针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1) REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2) REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3) REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4) REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5) REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6) REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值