SQL Server中的授权与角色

本文介绍了SQL Server中的数据库安全性,包括用户身份鉴别方法如静态口令和生物特征,以及存取控制策略如自主和强制存取控制。重点讨论了GRANT和REVOKE语句在权限管理中的应用,详细阐述了角色的创建、授权、回收以及权限修改过程,强调角色在简化数据库权限管理中的作用。

数据库安全性概述

数据库的不安全因素:

1.非授权用户对数据库的恶意存取和破坏。
2.数据库中重要或敏感的数据被泄露。
3.安全环境的脆弱性。

数据库安全性控制

用户身份鉴别:
1.静态口令鉴别。
2.动态口令鉴别。
3.生物特征鉴别。
4.智能卡鉴别。

存取控制:
1.自主存取控制。
2.强制存存取控制。

授权:授予与收回
SQL中用GRANT和REVOKE语句向用户授予或收回对数据的操作权限。GRANT语句向用户授予权限,REVOKE语句收回已经授予用户的权限。
1.GRANT
向一个用户授予权限:

GRANT select
on  Student
TO U1;

对一个用户授予权限并允许将此权限再授予其他用户:

GRANT INSERT
on  SC
to u5
WITH GRANT OPTION;

2.REVOKE
收回用户权限:

REVOKE update(Sno)
on student
from U4;

收回所有用户的查询权限:

REVOKE select
on table sc
from public;

将用户对表的权限收回:

REVOKE insert
on  sc
from U5 CASCADE;

数据库角色
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。
1.角色的创建:
create role <角色名>

2.给角色授权
GRANT<权限>
ON <对象类型>
TO <角色>

3.将一个角色授予其他的角色或用户
GRANT<角色1>[,<角色2>]···
TO <角色3>[,<用户1>]···
[WITH ADMIN OPTION]

4.角色权限收回
REVOKE<权限>[,<权限>]···
ON<对象类型><对象名>
FROM <角色>[,<角色>]···

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

create role R1;

2.使用GRANRT语句,使角色拥有Student表的权限

GRANT select,update,insert
on Student
TO R1;

3.将角色授予用户,使他们具有角色的全部权限

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

4.可以一次性收回权限

REVOKE R1
FROM 王平,张明,赵玲;

角色的权限修改:
增加权限

GRANT DELETE
ON  Student
TO R1;

减少权限

REVOKE SELECT
ON  Student
FROM R1;
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值