You need to enable JavaScript to run this app.
导航

Hive 集成

最近更新时间2023.11.27 14:22:05

首次发布时间2021.09.01 17:27:34

访问 Hive 数据有三种方式分别是 HiveServer2、Hive Client、HDFS。对于 HDFS 的访问权限控制可以参考 HDFS 配置章节,下面介绍 Ranger 对 Hive 数据的访问控制配置。

1 使用前提

  1. 已创建 E-MapReduce(EMR)包含 Ranger 服务的集群,操作详见:创建集群

  2. Ranger UI 的登录界面操作,详见:Ranger 概述---Ranger Admin UI 访问

2 启用 Ranger Hive Plugin

  1. 集群详情 -> 服务列表 -> Ranger 服务详情 -> 服务概述页面,点击启用 Hive Plugin 开关。

  2. 按照提示重启 Hive 服务后生效。

3 新增Policy

  1. 集群管理界面 -> 访问链接 -> 点击 Ranger UI 的访问链接 -> 进入 Ranger Admin UI 界面。

  2. 输入 Ranger Admin UI 的登录密码。登录密码获取方式详见:Ranger 概述

  3. 进入 Ranger admin -> Access Manager -> HADOOP SQL-> 点击 default_hive,进入权限编辑界面。

  4. Add New Policy,赋予 ranger 用户访问 table: test001 的 select 权限,配置如下:

4 Policy 验证

4.1 beeline 访问

Hive 访问链接方式操作详见:Hive 连接方式

beeline -u jdbc:hive2://<HiveServer2地址>:10000 -n ${username} -p ${password}

示例

# beeline 链接到 HiveServer2
beeline -u jdbc:hive2://<HiveServer2地址>:10000 -n ranger -p ranger
# 测试ranger select test001 权限
select * from test001

如上图所示:没有配置 ranger 会出现 permission denied,配置完后可以正常查询

4.2 参数说明

参数语义
Policy Name策略名称,可以自定义。
database添加 Hive 中的数据库,例如 testdb。
table添加表,例如test。
Hive Column添加列名。填写星号(*)时表示所有列。
Select Group指定添加此策略的用户组。
Select User指定添加此策略的用户。
Permissions选择授予的权限