数据库自主存取控制方法——授权与收回

授权语句的基本语法

grant<权限1>,<权限2>……
on <对象类型1><对象名1><对象类型2><对象名2>……
to <用户1><用户2>……
[with grant option](可选,作用是确定能否再把此权限授予其他用户);

其中with grant option语句授权后不能循环授权
可授予的<权限>包括select、all privileges、update(可选行列名)、insert

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

grant select
on table Student
to U1;

例子2:把对Student表和Course表的全部操作权限授给用户U2和U3

grant all privileges
on table Student,Course
to U2,U3;

例子3:把查询Student表和修改学生学号的权限授给U4,并允许将此权限授予给其他用户

grant update(Sno),select
on table Student
to U4
with grant option;

收回语句的基本语法

revoke <权限1><权限2>……
on <对象类型1><对象1>,<对象类型2><对象2>
from <用户1><用户2>……(可选cascade/restrict);

cascade级联属性会收回此用户以及被此用户授权的用户的权限

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

revoke select
on table SC
from public;

数据库角色的创建、授权与收回

  • 数据库角色的创建
create role <角色名>
  • 给角色授权
grant <权限1>,<权限2>……
on <对象类型> <对象名>
to <角色1>,<角色2>……
  • 将一个角色授予其他的角色和用户
grant <角色1>,<角色2>……
to <角色1>,<角色2>……
(可选with grant option)
  • 角色权限的收回
revoke <权限1>,<权限2>……
on <对象类型><对象名>
from <角色1>,<角色2>……

自主存取控制的特点

用户可以“自主地决定将数据的存取权限授予何人、决定是否也将’授权’的权限授予他人。因此称这样的存取控制是自主存取控制”

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值