
# 如何处理视图拥有者权限不足缺少函数的grant权限
#### 问题
访问独立部署Hive数据源的视图时，如果Hive视图中使用了函数，可能会出现如下报错信息：view owner does not have sufficient privileges。
图1报错信息   
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002060714392.png "点击放大")
#### 回答
HetuEngine的Ranger权限控制中包含了function的权限控制。当独立部署Hive数据源集群的视图所有者在本集群没有同名用户时，在Ranger中配置function权限将无法为对应用户赋权。
通过以下方案为用户添加相关权限，具体操作请参见[添加HetuEngine的Ranger访问权限策略](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1862.html)：
- 方案一 在本集群创建一个视图所有者的同名用户，然后修改HetuEngine的Ranger访问权限策略中的all-function策略：
  1. 在"Allow Condition"的"Select User"中填写授权的视图所有者。
  
  2. 在"Permissions"勾选"Grant"和"execute"。
   

- 方案二 直接修改HetuEngine的Ranger访问权限策略中的all-function策略，让所有用户都具备如下权限：
  1. 在"Allow Condition"的"Select User"中选择"{USER}"。
  
  2. 在"Permissions"勾选"Grant"和"execute"。
  
  
  此时，如果需要对特定的用户进行function权限控制，可以通过"Deny Conditions"进行配置：
  1. 在"Select User"选择用户。
  
  2. 在"Permissions"勾选"Grant"和"execute"，表示禁止该用户function的Grant和execute权限。
   
 
