
# 回收权限
#### 功能描述
回收已经授予用户或角色的权限。
#### 语法格式
```
REVOKE (privilege,...) ON (resource,..) FROM ((ROLE [db_name].role_name) | (USER user_name)),...);
```
#### 关键字
ROLE：限定后面的rol e_name是一个角色。
USER：限定后面的user_name是一个用户。
#### 注意事项
- privilege必须为赋权对象在resource中的已授权限，否则会回收失败。Privilege支持的权限类型可参见[数据权限列表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0140.html#dli_08_0140)。
- resource可以是queue、database、table、view、column，格式分别为：
  - queue的格式为：queues.queue_name
  
  - database的格式为：databases.db_name
  
  - table的格式为：databases.db_name.tables.table_name
  
  - view的格式为：databases.db_name.tables.view_name
  
  - column的格式为：databases.db_name.tables.table_name.columns.column_name
   
 
#### 示例
回收用户user_name1对于数据库db1的删除数据库权限。
```
REVOKE DROP_DATABASE ON databases.db1 FROM USER user_name1;
```
回收用户user_name1对于数据库db1的表tb1的SELECT权限。
```
REVOKE SELECT ON databases.db1.tables.tb1 FROM USER user_name1;
```
回收角色role_name对于数据库db1的表tb1的SELECT权限。
```
REVOKE SELECT ON databases.db1.tables.tb1 FROM ROLE role_name;
```
