数据库的安全性

1.数据库系统常用的安全性控制方法包括用户标识与鉴别,存取控制,视图,审计和数据加密

2.用户标识与鉴别:是系统提供的最外层安全保护措施,基本方法是:系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴别的合法用户才能进入系统,建立数据库

3.存取控制(分为:自主存取控制DAC和强制存取控制MAC;在DAC中,同一用户对于不同的数据对象具有不同的存取权限,但是哪些数据对象具有哪些存取权限并无固有限制;而MAC中,每一个数据对象被标以一定的密级,每一个用户也被授予某一许可证级别。具有一定许可证级别的用户才能访问具有一定密级的数据对象)存取控制机制的主要任务是:授权和合法权限检查

4.授权

(1)授权语句形式为:GRANT<权限列表>ON<对象名>TO<用户/角色列表>[WITH GRANT OPTION]

其中,权限列表可以是ALL PRIVILEGES(所有权限)、SELECT(查询)、DELETE(删除元组)、 INSERT[(<属性列>,...,<属性列>)](插入,包含属性列时,只能在指定的属性列上为新元组提供值)、 UPDATE[(<属性列>,...,<属性列>)](修改,包含属性列时,只能修改元组在改指定的属性列上值)、 REFERENCES[(<属性列>,...,<属性列>)](赋予用户创建关系时定义外码的能力。如果用户在创建的关系中包含参照其他关系的属性的外码,那么用户必须在这些属性上具有REFERENCES权限);对象名可以是基本表或视图名;用户/角色列表可以是PUBLIC(所有用户)或指定的用户或角色的列表;WITH GRANT OPTION表示获得授权的用户还可以把他获得的权限授予其他用户,缺省时,获得权限的用户不能传播权限。

举例如下:将Students和Courses表的所有权限授予用户U1和U2并允许他们传播获得权限GRANT ALL PRIBILEGES ON Students,Courses TO U1,U2  WITH GRANT OPTION;

(2)基于视图的授权(适当地定义视图上的授权可以进一步将用户对数据库的访问限制在关系的某些元组和/或某些属性上)

如:假设langyuqing是信息工程学院的教务员。我们只允许他对对信息工程学院的学生的选课关系SC进行访问

CREATE VIEW IE_SC AS

           SELECT Sno,Cno,Grade

           FROM SC

           WHERE Sno IN(SELECT Sno FROM Students WHERE Dno='IE')

GRANT ALL PRIVILEGES ON IE_SC TO langyuqing

5.收回授权

(1)语句形式为:REVOKE<权限列表>ON<对象名>FROM<用户/角色列表>{CASCADE|RESTRICT}

如:REVOKE UPDATE ON Students FROM U2 RESTRICT;

6.角色

(1)创建角色的语句形式为:CREATE ROLE<角色名>

(2)角色授权如:语句形式为GRANT<角色列表> TO<用户/角色列表>[WITH ADMIN OPTION]

           举例如下:CREATE ROLE Teller;

                               GRANT ALL PRIVLIEGES ON Account,Loan,Depositor,Borrower TO Teller;

                            CREATE ROLE Manager;

                           GRANT Teller TO LiMing,ZhangHua,Manager;

(3)收回授予角色饿权限

            REVOKE ALL PRIVILEGES ON Loan,Borrower FROM Teller;

(4)收回角色语句形式:REVOKE<角色列表>FROM<用户/角色列表>{CASCADE|RESTRICT}

如:REVOKE Teller FROM LiMiNG CASCADE;

7.审计技术是一种监视措施,他跟踪数据库中的访问活动,监听可能的不合法行为。

 

 

                              

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值