【SQL】数据库安全性相关语句

文章目录

  • 关键字
  • 权限授予与回收
    • GRANT授权语句
    • REVOKE撤权语句
    • 创建数据库模式的权限
  • 数据库角色
    • 角色的创建
    • 给角色授权
    • 将一个角色授予其他角色或用户
    • 角色权限的收回
  • 审计
    • AUDIT设置审计功能语句
    • NOAUDIT取消审计功能语句

关键字

  • PUBLIC 全体用户

权限授予与回收

GRANT授权语句

GRANT <权限>[,<权限>]···
ON <对象类型><对象名>[,<对象类型><对象名>]···
TO <用户>[,<用户>]···
[WITH GRANT OPTION];

WITH GRANT OPTION语句,用于允许该授权用户继续授权其他用户。

exm
把查询Student表和修改学生学号的权限授给用户U1,并允许将权限再授给其他用户。

GRANT UPDATE(Sno),SELECT
ON TABLE Student
TO U1
WITH GRANT OPTION;

REVOKE撤权语句

REVOKE <权限>[,<权限>]···
ON <对象类型><对象名>[,<对象类型><对象名>]···
FROM <用户>[,<用户>]···[CASCADE|RESTRICT];

CASCADE为级联选项,若撤销用户X的权限,则从用户X获得权限的其他用户也将被撤权。
exm
把用户U1对SC表的INSERT权限收回

REVOKE INSERT
ON TABLE SC
FROM U1 CASCADE;

创建数据库模式的权限

CREATE USER:

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

说明:

  • 只有超级用户可以创建一个新的数据库用户
  • 新创建的数据库用户有三种权限:CONNECT、RESOURCE、DBA。
  • CREATE USER默认权限为CONNECT,只能访问数据库。
  • RESOURCE权限可以创建基本表和视图,称为所创建对象的属主,不能创建模式和用户。
  • DBA权限是超级用户。

数据库角色

数据库角色是权限的集合

角色的创建

CREATE ROLE <角色名>

给角色授权

GRANT <权限>[,<权限>]···
ON <对象类型><对象名>
TO <角色>[,<角色>]···

将一个角色授予其他角色或用户

GRANT <角色>[,<角色2>]···
TO <角色3>[,<用户1>]···
[WITH ADMIN OPTION];

WITH ADMIN OPTION属性类似于WITH GRANT。

角色权限的收回

REVOKE <权限>[,<权限>]···
ON <对象类型><对象名>
FROM <角色>[,<角色>]···

审计

AUDIT设置审计功能语句

AUDIT <权限>[,<权限>]···
ON <对象类型><对象名>;

NOAUDIT取消审计功能语句

NOAUDIT <权限>[,<权限>]···
ON <对象类型><对象名>;

你可能感兴趣的:(数据库)