本文介绍如何将Impala集成至Ranger,以及如何配置权限。
前提条件
已创建EMR-4.4.1及后续版本的Hadoop集群,并且选择了Ranger和Impala服务。详情请参见
创建集群。
背景信息
Impala集成Ranger后,支持通过Impala-shell、Hue和JDBC方式在访问Hive表时进行权限控制。
Impala集成Ranger
- 在阿里云E-MapReduce控制台配置Hive集成Ranger,详情请参见Hive配置。
说明 在Ranger中,因为Impala和Hive使用同一个Ranger Service(emr-hive)进行权限控制,所以需要先配置好Ranger Hive。
- Ranger启用Impala。
- 在阿里云E-MapReduce控制台的集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏单击。
- 在Ranger集群服务页面,单击右上角的。
- 在执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定。
单击右上角查看操作历史查看任务进度,等待任务完成。
- 重启Impala。
- 在左侧导航栏单击。
- 在Impala集群服务页面,单击右侧的。
- 在执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定。
单击右上角查看操作历史查看任务进度,等待任务完成。
权限配置示例
说明 Ranger中Impala暂不支持Hive Row-level Filter及Role权限功能。
例如:给用户foo授予表testdb.test的a列Select权限。
- 进入Ranger UI页面,详情请参见概述。
- 在Ranger UI页面,单击配置好的emr-hive。
- 单击右上角的Add New Policy。
- 配置权限。

参数 |
说明 |
Policy Name |
策略名称,可以自定义。 |
database |
添加Hive中的数据库,例如testdb。 |
table |
添加表,例如test。 |
Hive Column |
添加列名。填写星号(*)时表示所有列。 |
Select Group |
指定添加此策略的用户组。 |
Select User |
指定添加此策略的用户。 |
Permissions |
选择授予的权限。 |
- 单击Add。
添加Policy后,实现对foo的授权。foo用户即可以访问testdb.test表。
说明 添加、删除或修改Policy后,需要等待约一分钟至授权生效。
关闭Impala集成Ranger
当您不需要使用Ranger控制Impala权限时,可以执行如下方法关闭Impala集成Ranger。
- Ranger禁用Impala。
- 在阿里云E-MapReduce控制台的集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏单击。
- 在Ranger集群服务页面,单击右上角的。
- 在执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定。
单击右上角查看操作历史查看任务进度,等待任务完成。
- 重启Impala。
- 在左侧导航栏单击。
- 在Impala集群服务页面,单击右上角的。
- 在执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定。
单击右上角查看操作历史查看任务进度,等待任务完成。
在文档使用中是否遇到以下问题
更多建议
匿名提交