数据库---第四章:数据的安全性(grant 和 revoke 和 角色)

数据库---第四章:数据的安全性(grant 和 revoke 和 角色),第1张

数据库---第四章:数据的安全性(grant 和 revoke 和 角色

文章目录
    • 1.grant用法
    • 2. revoke用法
    • 3.角色的创建、授权、将一个角色授予其他的角色或用户、角色的回收

1.grant用法

例1:把查询Student表权限授给用户U1。

GRANT  SELECt  ON  TABLE  Student  TO  U1;

例2:把对Student表和Course表的全部权限授予用户U2和U3。

//priviliges 特权
GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;

例3:把对表SC的查询权限授予所有用户。

GRANT SELECT ON TABLE SC TO PUBLIC;

例4:把查询Student表和修改学生学号的权限授给用户U4。(对属性列的授权时必须指出列名)

GRANT UPDATE(Sno),SELECT ON TABLE Student TO U4;

例5:把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户。

GRANT INSERT ON TABLE SC TO U5  WITH GRANT OPTION;

说明:执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限:

例6:GRANT INSERT ON TABLE SC TO U6  WITH GRANT OPTION; / * U6还可以将此权限授予U7 * /

例7:GRANT INSERT ON TABLE SC TO U7;                   / * 但U7不能再传播此权限 * /

2. revoke用法


例8:把用户U4修改学生学号的权限收回。

 REVOKE UPDATE(Sno) ON  TABLE Student  FROM U4;

例9:收回所有用户对表SC的查询权限。

REVOKE SELECt ON TABLE SC FROM PUBLIC;

例10:把用户U5对SC表的INSERT权限收回。 /系统只收回直接或间接从U5处获得的权限/

 REVOKE INSERT ON TABLE SC FROM U5 CASCADE;






3.角色的创建、授权、将一个角色授予其他的角色或用户、角色的回收

例11:通过角色来实现将一组权限授予一个用户。
步骤1:首先创建一个角色 R1

CREATE  ROLE  R1;

步骤2:然后使用GRANT语句,使角色R1拥有Student表的SELECt、UPDATE、INSERT权限:

GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;

步骤3:将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限。

 GRANT  R1 TO 王平,张明,赵玲;

步骤4:可以一次性通过R1来回收王平的这3个权限

 REVOKE  R1 FROM 王平;

例12:角色的权限修改

 GRANT DELETe ON TABLE Student TO R1

例13:角色的权限收回

 REVOKE SELECT ON TABLE Student FROM  R1;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4665451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存