回收用户权限与角色

  • 回收角色

回收角色的语法是:

REVOKE ROLE rolename FROM USER username[,...n];

其中,rolename 为角色名字,username为用户名字。用户必须已经存在。被回收角色的用户将不再具有角色权限。

下面的示例将回收用户具有角色:

REVOKE ROLE app_role1 FROM USER app_user1;

执行REVOKE语句的用户必须是被REVOKE用户的授权者,超级用户,或者数据库对象的所有者。

  • 回收权限

回收权限的语法是:

REVOKE [GRANT OPTION FOR] privileges ON privilege_target FROM {username|ROLE rolename}[,...n];

若使用GRANT OPTION FOR 子句,则只撤销用户的授权权限,不收回用户在对象上获得的权限;若不使用GRANT OPTION FOR 子句,则撤销授予用户的指定权限,同时也撤销用户的授权权限。数据库对象权限的明细表见上一节。

下例回收用户HU和FLATER在表PROJ上的查询权限和更新列CITY的权限。

REVOKE SELECT , UPDATE(CITY) ON PROJ FROM HU,FLATER;