数据库安全性

数据库安全性概述

数据库的不安全因素

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

数据库安全性控制

在用户要求进入计算机系统时,系统首先根据输入的用户表示进行用户身份鉴定,只有合法的用户才准许进入计算机系统;对已进入系统的用户,数据库管理系统还要进行存取控制,只允许用户执行合法操作;操作系统也会有自己的保护措施;数据最后还可以以密码形式存储到数据库中。

用户身份鉴别

用户标识:由用户名(user name)和用户标识号(UID)两部分组成
常用的用户身份鉴别方法:

  1. 静态口令鉴别:一般由用户自己设定。较简单,但容易被攻击,安全性较低。
  2. 动态口令鉴别:口令是动态变化的,每次鉴别时需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。
  3. 生物特征鉴别:如指纹、虹膜和掌纹等。
  4. 智能卡鉴别:智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。

存取控制

存取控制机制主要包括定义用户权限和合法权限检查两部分。

  1. 定义用户权限,并将用户权限登记到数据字典中
  2. 合法权限检查

自主存取控制,见下一节
强制存取控制:在这种方法中,每一个数据库对象被标以一定的密级,每一个用户被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。

自主存取控制方法

C2级的数据库管理类系统支持自主存取控制。在自主存取控制方法中,用户对于不用的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。
用户权限由两个要素组成:数据库对象和操作类型。
存取控制的对象不仅有数据本身(基本表中的数据、属性列上的数据),还有数据库模式(包括模式、基本表、视图和索引的创建等)。

授权:授予和收回

授予(GRANT)
GRANT <权限> [,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
TO <用户>[,<用户>]...
[WITH GRANT OPTION];

将对指定操作对象的指定操作权限授予指定的用户。
发出GRANT语句的可以是数据库管理员,也可以是该数据库对象的创建者,还可以是已经拥有该权限的用户。接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。
WITH GRANT OPTION代表获得某种权限的用户还可以把这种权限再授予其他的用户。

权限收回(REVOKE)
REVOKE <权限> [,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
FROM <用户>[,<用户>]...[CASCADE|RESTRICT];
创建数据库模式的 权限

创建数据库模式一类的数据库对象的授权则由数据库管理员在创建用户时实现。

CREATE USER <username> [WITH] [DBA|RESOURCE|CONNECT];

拥有CONNECT权限的用户只能登录数据库;拥有RESOURCE权限的用户能创建基本表和视图,称为所创建对象的属主,但不能创建模式,不能创建新的用户。拥有DBA权限的用户时系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等,拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户。

数据库角色

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。

创建角色
CREATE ROLE <角色名>
给角色授权
GRANT <权限>[,<权限>]...
ON <对象类型>对象名
TO <角色>[,<角色>]...
将一个角色授予其他的角色或用户
GRANT <角色1>[,<角色2>]...
TO <角色3>[,<用户1>]...
[WITH ADMIN OPTION]
角色权限收回
REVOKE <权限>[,<权限>]...
ON <对象类型><对象名>
FROM <角色>[,<角色>]...

视图机制

通过为不用用户定义不同的视图,可以将数据对象限制在一定的范围内。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度安全保护。

审计

审计功能将用户对数据库的所有操作自动记录下来放入审计日志(audit log)中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值