赞
踩
问题的提出:
数据库的一大特点是数据可以共享。
数据共享必然带来数据库的安全性问题。
数据库系统中的数据共享不能是无条件的共享。
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
系统安全保护措施是否有效是数据库系统主要的性能指标之一。
安全级别 | 定义 |
---|---|
A1 | 验证设计(verified design) |
B3 | 安全域(security domains) |
B2 | 结构化保护(structural protection) |
B1 | 标记安全保护(labeled security protection) |
C2 | 受控的存取保护(controlled access protection) |
C1 | 自主安全保护(discretionary security protection) |
D | 最小保护(minima protection) |
四组七个等级:D、C(C1,C2)、B(B1,B2,B3)、A(A1)。
七个等级按系统可靠或可信程度逐渐增高。
各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
评估保证级 | 定义 | TCSEC安全级别(近似相当) |
---|---|---|
EAL1 | 功能测试(functionally tested) | |
EAL2 | 结构测试(structurally tested) | C1 |
EAL3 | 系统地测试和检查(methodicolly ) | C2 |
EAL4 | 系统地设计、测试和复查(methodically designed,tested and tested) | B1 |
EAL5 | 半形式化设计和测试(semiformally designed and tested) | B2 |
EAL6 | 半形式化验证的设计和测试(semiformally verified design and tested) | B3 |
EAL7 | 形式化验证的设计和测试(formally verified design and tested) | A1 |
SQL标准的通过GRANT语句和REVOKE语句实现自主存取控制。
SQL通过GRANT和REVOKE语句实现向用户授予或收回对数据的操作权限。
REVOKE <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型><对象名>]...
FROM <用户> [,<用户>]...[CASCADE|RESTRICT];
总结:
①数据库管理员的授权:
拥有所有对象的所有权限。
根据实际情况不同的权限授予不同的用户。
②用户的授权:
拥有自己建立的对象的全部的操作权限。
可以使用GRANT,把权限授予其他用户。
③被授予用户的权限:
如果具有“继续授权”的许可,可以把获得的权限再授予其他用户。
④所有授予出去的权力在必要时又都可用REVOKE语句收回。
3. 创建数据库模式的权限
数据库管理员再创建用户时实现对创建数据库模式的权限。
(1)CREATE USER语句格式
CREATE USER <username>
[WITH] [DBA|RESOURCE|CONNECT];
说明:
①只有系统的超级用户才有权创建一个新的数据库用户。
②新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA。
如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库。
③拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新的用户。
④拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户。
(2)权限与可执行的操作对照表
数据库角色是指被命名的一组与数据库操作相关的权限,角色是权限的集合。
可以为一组具有相同权限的用户创建一个角色,简化授权的过程。
SQL中首先用CREATE ROLE语句创建角色,然后用GRANT语句授权,用REVOKE收回授予角色的权限。
CREATE ROLE <角色名>;
GRANT <权限>[,<权限>]...
ON <对象类型>对象名
TO <角色>[,<角色>]...;
GRANT <角色1> [,<角色2>]...
TO <角色3>[,<用户1>]...
[WITH ADMIN OPTION];
说明:
①该语句把角色授予某用户,或授予另一个角色。
②授予者是角色创建者或拥有在这个角色上的ADMIN OPTION。
③指定了WITH ADMIN OPTION则获得某种权限的角色或用户还可以把这种权限授予其他角色。
4. 角色权限的收回
格式:
REVOKE <权限> [,<权限>]...
ON <对象类型> <对象名>
FROM <角色> [,<角色>]...;
说明:
①用户可以回收角色的权限,从而修改角色拥有的权限。
②REVOKE执行者是:角色的创建者、拥有在这个(些)角色上的ADMIN OPTION。
系统首先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。
视图对数据库安全的作用:
数据加密是防止数据库中数据在存储和传输中失密的有效手段。
加密的基本思想是根据一定的算法将原始数据–明文变换为不可直接识别的格式–密文。
数据加密包括存储加密和传输加密。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。