[关闭]
@demonly 2017-02-15T13:57:12.000000Z 字数 850 阅读 867

管理数据库安全

SQL


数据库权限

系统权限

对象权限

控制用户访问

GRANT 命令

GRANT 命令用于向数据库用户账户授予系统权限和对象权限。

  1. GRANT PRIVILEGE2 [, PRIVILEGE2 ][ ON OBJECT ]
  2. TO USERNAME [ WITH GRANT OPTION | ADMIN OPTION ]

GRANT OPTION 和 ADMIN OPTION 都意味着被授权者可以将这个权限再授予给别的用户。前者用于对象权限,后者用于系统权限。

GRANT 命令不仅可以分配以上提到的对象权限和系统权限,还可以针对 INSERT、UPDATE 和 DELETE 分配权限。

其中的 USERNAME 也可以是 PUBLIC,它表示数据库里全体用户的账户。

REVOKE 命令

REVOKE 命令用于撤销已经分配给用户的权限。

  1. REVOKE PRIVILEGE1 [, PRIVILEGE2 ][ GRANT OPTION FOR ] ON OBJECT
  2. FROM USER { RESTRICT | CASCADE }

使用 RESTRICT 选项时,只有指定的权限撤销之后不会导致其他用户产生报废权限时才能顺利完成。使用 CASCADE 选项会同时撤销由这个用户授权的权限。

通过角色控制权限

角色的创建和删除语法和用户是相似的,权限分配的语法和用户是一样的。

  1. CREATE ROLE role_name;
  2. DROP ROLE role_name
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注