首页 > 代码库 > 数据库原理-安全性
数据库原理-安全性
数据库安全
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
数据库安全性控制的常用方法和技术。
用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。
视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
数据库中的自主存取控制方法和强制存取控制方法
自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
自主存取控制方法
数据授权和收回
GRANT <权限> ON <对象类型><对象名> TO <用户> [WITH GRANT OPTION] ;
用户不能循环授权
revoke <权限> ON <对象类型><对象名> from <用户> [cascade|restrict] ;
强制存取控制方法
在强制存取控制方法中,将用户和客体分为多种安全级别,对数据库中每个存取对象指派一个密级,对每个用户授予一个存取级,由系统提供基于标识的高级安全认证。
对任意一个对象,只有具有合法存取级的用户才可以存取。
存取规则:
1.仅当主题的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;
1.仅当主题的许可证级别小于或等于客体的密级时,该主体才能写入相应的客体;
数据库原理-安全性