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





