数据库学习--第四章

第四章--数据库的安全性

  • 存在不安全因素

  • 为了尽可能地减少不安全因素,所以数据库安全性是有必要学习的。可以采用数据库安全性控制,有以下三种方法。

其中主要能使用代码掌握第三种方法即可。第三种方法自主存取控制主要通过grant、revoke来控制,由两个元素构成:数据库对象和操作权限(这部分代码我在第三章做了个简单的介绍)。

  • 操作权限

grant:授权--授权命令是由数据库管理员使用,若分配权限时带了with great option,则普通用户获得权限后,可把自己的权限授予其他用户。

基本格式:grant <权限> on table <表名> to <用户>

revoke:回收权限

基本格式:revoke <权限> on table <表名> from <用户>

  • 数据库对象(数据库角色)

对象指一类人,比如CEO、总监。可以给一类人授权。

角色的创建:create role<角色名>

角色授权:grant <权限> on <对象类型> 对象名 to <角色1><角色2>

把角色授权给其他用户或者角色:grant <权限> to 角色或者用户名(在后面加上with admin option语句还可以让该角色把这个权限授予其他角色)

角色权限的收回:revoke <权限> on <对象名> from 角色名字

  • 其他安全性的一些操作(视图机制、审计、数据加密等)

视图机制:为不同的用户定义不同的视图,把不需要的数据给隐藏起来,这样用户就不会进行该操作。可以保护一部分的数据。

审计:把对数据库的所有操作都记录到审计日志中,然后就可以通过日志审查这个里面是否有一些非法行为。

如:对修改学生信息表数据的操作进行审计:audit update on 学生信息表

       取消对学生信息表的一切审计:noaudit update on 学生信息表

数据加密:通过一些算法,将明文变成密文,这样可以使别人无法查看。

猜你喜欢

转载自blog.csdn.net/m0_57714421/article/details/127642144