ITPub博客

首页 > 数据库 > Oracle > 用实践去理解权限的级联回收

用实践去理解权限的级联回收

原创 Oracle 作者:banana_62 时间:2017-06-11 21:56:27 0 删除 编辑

前面已经了解了很多授予系统权限,对象权限,角色的例子,下面我们来重点分析WITH ADMIN OPTION和WITH GRANT OPTION还有REVOKE。

WITH ADMIN OPTION主要是用来授予用户、角色系统权限和角色时允许被授予者授予其他人此权限,REVOKE后,级联权限不会回收。WITH GRANT OPTION主要是用来授予用户、角色对象权限时,允许被授予者授予其他人此权限,REVOKE后级联权限会回收。简单的讲,WITH ADMIN OPTION是用作系统权限和角色,WITH GRANT OPTION是用作对象权限。下面列举几个问题并测试结果,来了解授权与回收的关系,并进一步了解什么是角色。

问题1:授予角色(仅包含系统权限)WITH ADMIN OPTION给用户时,用户再授权给其他人,回收角色能否回收级联角色?



答案是不会级联回收。

问题2. 授予角色(仅包含对象权限)WITH ADMIN OPTION给用户时,用户再授权给其他人,回收角色能否回收级联角色?

把第三用户的查询权限分配role_scott3角色,然后把此角色分配给scott


用scott用户把role_scott3角色分配给scott1


回收权限


答案是不会级联回收

问题3. 授予用户对象权限WITH GRANT OPION,用户再授权此权限给角色,回收权限能否回收级联权限?

查找用户和角色的权限


给用户授权后登陆用户


使用scott用户给角色授权


然后使用有回收权限的用户回收scott用户的对象权限



答案是会级联回收

问题4.把系统权限、对象权限、角色1授权给角色2,然后把角色2授权给用户,分别回收角色2的系统权限、对象权限、角色1,会发生什么?

分配权限、角色给角色,分配角色给用户


查看用户拥有的权限


其实从这里就可以推断出,回收角色所属权限、角色,其实可以理解为不回收级联权限,只是因为用户、角色属于此角色,所以用户、角色的权限会减少,这是从属关系,不能称之为权限级联。

级联权限和回收的总结:

1.WITH ADMIN OPTION 和WITH GRANT OPTION 都是用作级联授权的

2.WITH ADMIN OPTION用来级联系统权限和角色,使被授权者(用户)能够授权系统权限和角色给其他用户和角色

3.WITH GRANT OPTION用来级联对象权限,使被授权者(用户)能够授权对象权限给其他用户和角色

3.因为角色不是用户,不能主动给其他用户授权,所以在给角色授权时,不能加WITH ADMIN OPTION和WITH GRANT OPTION

4.回收权限时,不回收WITH ADMIN OPTION权限,要回收WITH GRANT OPTION

       5.回收角色下的权限或用户时,直接影响拥有此角色的用户和角色,但这最好不要称之为级联

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31461640/viewspace-2140594/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-05-18

  • 博文量
    71
  • 访问量
    65045