什么是数据库的安全性?
答:是指保护数据库以防止不合法使用所造成的数据泄露、更改或损坏。
对数据库安全性产生威胁的因素?
- 非授权用户对数据库的恶意存取和破坏——措施:包括用户身份鉴别、存取控制和视图等技术
- 数据库中重要或敏感的数据被泄露——措施:强制存取控制、数据加密存储和加密传输等
- 安全环境的脆弱性——加强计算机系统的安全性保证,建立完善的可信标准
DBMS的安全机制有哪些?
- 自主安全性机制:通过权限在用户之间传递,使用户自主管理数据库安全性;
- 强制安全性机制:通过对数据和用户的强制分类,使得不同类别用户能够访问不同类别的数据;
- 推断控制机制:防止通过历史或公开的信息推断出不该被知道的信息。
用户身份鉴别:是数据库管理系统提供的最外层保护措施,每个用户在系统中都有唯一的用户标识,每个标识由用户名和标识号组成,用户鉴别方法如下:
- 静态口令鉴别:密码设置后不变;
- 动态口令鉴别:一次一密,如短信验证、qq的动态令牌;
- 生物特征鉴别:指纹、虹膜等;
- 智能卡鉴别:一种不可被复制的硬件;
- 什么是存取控制?
答:主要包括定义用户权限和合法权限检查两部分,有自主存取控制和强制存储控制两类;
什么是自主存取控制?
答:用户对于不同的数据库对象有不同的权限,不同用户对同一数据库对象也有不同权限,而且用户的权限可以进行转授和收回。
SQL如何实现授权和收回?
- 授权:Grant 权限 ON Table 表名 TO 用户 [WITH Grant Option];
权限有更删改查、with grant option 子句决定是否可以将权限进行转授、All Privileges表示所有权限、Update(列名)权限可具体到某一列、
- 收回:Revoke 权限 ON 对象类型 对象名 FROM 用户 [CASCADE|RESTRICT]
默认值是CASCADE,对于授权的权限,当上面的用户被收回,下级的相应权限也会被收回。
什么是数据库角色?
答:数据库角色是被命名的一组与数据库操作相关的权限,是权限的集合。
- 角色创建:Create Role 角色名;
- 给角色授权:Grant 权限 on 对象类型 对象名 to 角色;
- 将一个角色授予其他角色或用户:Grant 角色 to 角色|用户 [with admin option];
- 角色权限收回:Revoke 权限 on 对象类型 对象名 from 角色;
什么是强制存储控制?
答:通过自主存储控制,即权限的传授,会有数据泄露的风险,通过对数据进行密级标记,提高安全性。
什么是视图机制?
答:通过为每个用户创建不同的视图,把数据对象限制在一定范围内,然后对视图进行授权,从而达到一定程度的安全保护。
什么是审计?
答:审计功功能是把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存储数据的人、事件、内容等。
什么是数据加密?
答:对于敏感数据,数据加密是防止数据库数据在存储和传输中失密的有效手段。常见传输加密有链路加密和端到端加密。