【数据库】数据库安全(授权,回收)

一般Windows登录的都是管理员,效果和sa一样
1.创建登录(login)/在哪数据库下无所谓/

create login p1 with password ='1' /* 登录名 密码*/
create login p2 with password ='1' /* 登录名 密码*/
create login p3 with password ='1' /* 登录名 密码*/
create login p4 with password ='1' /* 登录名 密码*/
create login p5 with password ='1' /* 登录名 密码*/
create login p6 with password ='1' /* 登录名 密码*/
create login p7 with password ='1' /* 登录名 密码*/
/*这样创建的账户是没有数据库的使用权限的*/

2.创建用户(user)/一定要指明是哪个数据库/

create user u1 for login p1 /*只是提供了切换到某个数据库的权限,没有操作(增删改查)的权限*/
create user u2 for login p2
create user u3 for login p3
create user u4 for login p4
create user u5 for login p5
create user u6 for login p6
create user u7 for login p7

3.存取控制 grant和revoke
4.把查询student表的权限授给用户u1/接受授权的一定是用户/

grant select 
on student /*标准语法应为 on table student 有table,考试当中table可写可不写*/
to u1    /*把使用student的权限授给用户u1*/

5.把student表和course表的全部权限授予用户u2和u3

grant all privileges
on student  /*SQL中不允许对多个表进行授权,标准语法中是可以的*/
to u2,u3
/*ALL 权限已不再推荐使用,并且只保留用于兼容性目的。
它并不表示对实体定义了 ALL 权限。*/

6.把对SC的查询权限授予所有用户,这个操作也影响新创建的用户

grant select
on SC
to public

7.把查询student表和修改学生学号的权限授给用户u4

grant select,update(sno)
on student
to u4

8.把对表SC的insert权限授给u5,并允许将此权限再授予其他用户

grant insert  /*SQL中要想insert前提是具有select权限,所以也同时授予了select权限*/
on sc
to u5
with grant option /*u5还可以给其他用户授权*/
/*insert的时候主码必须授权,否则无法插入(主属性非空)*/
回收

1.把用户u4修改学生学号的权限收回

revoke update
on student
from u4

2.收回所有用户查找sc的权限

revoke select
on sc 
from public

3.把用户u5对标sc的insert权限收回

revoke insert 
on sc
from u5
cascade/*级联收回,同时收回了u5给u6的权限,u6给u7的权限*/
数据库角色

被命名的一组与数据库操作相关的权限

  • 角色是权限的集合
  • 把用户加入角色,即拥有了相应的权限
  • 简化了授权的过程

1.通过角色来实现将一组权限授予一个用户
1)创建角色

create role r1

2)将权限授予角色

grant insert,update,select
on sc
to r1

3)将角色授权给用户

grant r1
to u1,u2/*这是标准,但是在这里不适用*/

--sp开头的都是系统提供的
--此处使用这种授权方式
exec sp_addrolemember r1,u1
--将角色从用户收回
exec sp_droprolemember r1,u1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值