数据库原理与应用----------------------SQL的授权控制

12 篇文章 0 订阅
8 篇文章 0 订阅
一,用户的存储权限

在DBMS中,用户的存储权限由两个主要素组成:数据库对象和操作权限。

(1)数据库对象:可以是数据库,基本表,表中记录,属性值,视图,索引等。

(2)操作权限:根据数据对象有所不同,一般有对象定义(创建,修改,删除),对象的查询和更新等等。


一般的数据库用户有四种:

 (1)数据库管理员用户。

 (2)系统管理员用户。

 (3)数据库对象用户。

 (4)数据库访问用户。


二,权限的授予与收回

(1)GRANT语句

GRANT语句用于向用户授予权限。

GRANT  <权限列表>  ON  <数据库对象>

   TO  <用户列表>

      [ WITH  GRANT  OPTION ];

[ WITH  GRANT  OPTION ]:表示被授权的用户可以将这些权限继续转授其他用户。

(2)REVOKE语句

授予的权限可以由DBA或其他授权者用REVOKE语句收回。

REVOKE  [ GRANT  OPTION  FOR ] <权限列表>

   ON  <数据库对象>

     FROM <用户列表>

     [RESTRICT | CASCADE ];

GRANT  OPTION  FOR:表示只有授权权限被收回。

CASCADE:把该用户所转授出去的权限同时收回。

RESTRICT: 限制级联收回,当用户没有给其他用户授权时,才能收回权限,否则不能收回。


三,基于角色的授权

实现对角色的创建,授权和收回语句的格式:

CREATE   ROLE   <角色列表>;

GRANT   <权限列表>   ON   <数据库对象>   to   <角色列表>;

REVOKE   <权限列表>   ON  <数据库对象>  FROM   <角色列表>;


角色可以授予用户,也可以授予其他角色。TRANSACT SQL中为用户授予角色:

sq_addrolemember  <角色>,<用户>;


回收用户所拥有的角色的权限:

sq_droprolemember  <角色>,<用户>;


所以,一个用户或角色的权限包括所有直接授予用户/角色的权限,以及授予用户/角色所拥有的角色的权限。





本文章参考宋金玉 陈萍 陈刚 编著《数据库原理与应用》









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值