文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用HetuEngine/ HetuEngine常见问题/ 如何处理视图拥有者权限不足缺少函数的grant权限
更新时间:2024-12-11 GMT+08:00

如何处理视图拥有者权限不足缺少函数的grant权限

问题

访问独立部署Hive数据源的视图时,如果Hive视图中使用了函数,可能会出现如下报错信息:view owner does not have sufficient privileges。

图1 报错信息

回答

HetuEngine的Ranger权限控制中包含了function的权限控制。当独立部署Hive数据源集群的视图所有者在本集群没有同名用户时,在Ranger中配置function权限将无法为对应用户赋权。可参考添加HetuEngine的Ranger访问权限策略章节通过如下方案为用户添加相关权限解决:

  • 方案一

    在本集群创建一个视图所有者的同名用户,然后修改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权限。