
# 分配权限
#### 功能描述
授予用户或角色权限。
#### 语法格式
```
GRANT (privilege,...) ON (resource,..) TO ((ROLE [db_name].role_name) | (USER user_name)),...);
```
#### 关键字
ROLE：限定后面的role_name是一个角色。
USER：限定后面的user_name是一个用户。
#### 注意事项
- privilege必须是可授权限中的一种。且如果赋权对象在resource或上一级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 queue支持的Privilege权限类型可以参考下表：
    
    | 操作               | 说明            |
    |:---|:---|
    | DROP_QUEUE       | 删除队列          |
    | SUBMIT_JOB       | 提交作业          |
    | CANCEL_JOB       | 终止作业          |
    | RESTART          | 重启队列          |
    | SCALE_QUEUE      | 扩缩容队列         |
    | GRANT_PRIVILEGE  | 队列的赋权         |
    | REVOKE_PRIVILEGE | 队列权限的回收       |
    | SHOW_PRIVILEGES  | 查看其他用户具备的队列权限 |
       
    
  
  - database的格式为：databases.db_name database支持的Privilege权限类型可参见[数据权限列表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0140.html#dli_08_0140)。
    
  
  - table的格式为：databases.db_name.tables.table_name table支持的Privilege权限类型可参见[数据权限列表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0140.html#dli_08_0140)。
    
  
  - view的格式为：databases.db_name.tables.view_name view支持的Privilege权限类型和table一样，具体可以参考[数据权限列表](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0140.html#dli_08_0140)中table的权限列表描述。
    
  
  - column的格式为：databases.db_name.tables.table_name.columns.column_name column支持的Privilege权限类型仅为：SELECT
    
   
 
#### 示例
给用户user_name1授予数据库db1的删除数据库权限。
```
GRANT DROP_DATABASE ON databases.db1 TO USER user_name1;
```
给用户user_name1授予数据库db1的表tb1的SELECT权限。
```
GRANT SELECT ON databases.db1.tables.tb1 TO USER user_name1;
```
给角色role_name授予数据库db1的表tb1的SELECT权限。
```
GRANT SELECT ON databases.db1.tables.tb1 TO ROLE role_name;
```
