DBMS 中的安全性、完整性和授权
dbmsdatabasemysql
数据库安全性数据库安全性有许多不同的层次,但关键方面是:
身份验证
用户身份验证是为了确保访问数据库的人是其声称的身份。身份验证可以在操作系统级别甚至数据库级别本身进行。许多身份验证系统(如视网膜扫描仪或生物识别技术)用于确保未经授权的人无法访问数据库。
授权
授权是数据库管理员提供的特权。数据库用户只能查看他们有权查看的内容。数据库的其余部分超出了他们的权限范围。
可用的不同授权权限包括:
- 主要权限 - 公开且直接授予用户。
- 次要权限 - 授予组,如果用户是组成员,则自动授予用户。
- 公共权限 - 公开授予所有用户。
- 上下文敏感权限 - 这与敏感内容相关,仅授予选定用户。
可以授予用户的授权类别包括:
- 系统管理员 - 这是用户的最高管理授权。拥有此权限的用户还可以执行某些数据库管理员命令,例如恢复或升级数据库。
- 系统控制 - 这是用户的最高控制权限。这允许对数据库进行维护操作,但不允许直接访问数据。
- 系统维护 - 这是较低级别的系统控制权限。它还允许用户在数据库管理器实例内维护数据库。
- 系统监视器 - 使用此权限,用户可以监视数据库并对其进行快照。
数据库完整性
数据库中的数据完整性是数据的正确性、一致性和完整性。使用以下三个完整性约束来强制执行数据完整性:
- 实体完整性 - 这与主键的概念有关。所有表都应具有自己的主键,这些主键应唯一地标识一行并且不能为 NULL。
- 引用完整性 - 这与外键的概念有关。外键是关系中引用的另一个关系的键。
- 域完整性 - 这意味着数据库中的所有列都应该有一个定义的域。