用于 Ranger 与 Amazon EMR 集成的 Apache Hive 插件
Apache Hive 是 Hadoop 生态系统中流行的执行引擎。Amazon EMR 提供了一个 Apache Ranger 插件,能够为 Hive 提供精细访问控制。该插件与开源 Apache Ranger Admin 服务器版本 2.0 及更高版本兼容。
支持的特征
EMR 上 Hive 的 Apache Ranger 插件支持开源插件的所有功能,包括数据库、表、列级访问控制以及行筛选和数据掩码。有关 Hive 命令和关联 Ranger 权限的表,请参阅 Hive 命令到 Ranger 权限映射
安装服务配置
Apache Hive 插件与 Apache Hive Hadoop SQL 中现有的 Hive 服务定义兼容。
如果您没有 Hadoop SQL 下的服务实例(如上所示),则可以创建一个实例。点击 Hadoop SQL 旁边的 +。
-
Service Name (服务名称)(如果显示):输入服务名称。建议的值为
amazonemrhive
。记下此服务名称,创建 EMR 安全配置时将要用到。 -
Display Name (显示名称):输入要为服务显示的名称。建议的值为
amazonemrhive
。
Apache Hive Config Properties 用于通过 HiveServer2 建立与 Apache Ranger Admin 服务器的连接,以在创建策略时实现自动完成。如果您没有持久的 HiveServer2 进程并且可以填充任何信息,则以下属性不需要准确。
-
Username (用户名):为到 HiveServer2 实例的其中一个实例的 JDBC 连接输入用户名。
-
Password (密码):输入上述用户名所对应的密码。
-
jdbc.driver.ClassName:输入 Apache Hive 连接的 JDBC 类的类名。可以使用默认值。
-
jdbc.url:输入连接到 HiveServer2 时要使用的 JDBC 连接字符串。
-
Common Name For Certificate (凭证的公用名称):凭证中的 CN 字段,用于从客户端插件连接到管理服务器。此值必须与为插件创建的 TLS 凭证中的 CN 字段匹配。
Test Connection (测试连接) 按钮测试是否可以使用上述值成功连接到 HiveServer2 实例。成功创建服务后,服务管理器应如下所示:
注意事项
Hive 元数据服务器
Hive 元数据服务器只能由受信任的引擎访问,特别是 Hive 和 emr_record_server
,以防未经授权的访问。Hive 元数据服务器也可以通过集群上的所有节点访问。所需的端口 9083 为所有节点提供了主节点的访问权限。
身份验证
默认情况下,Apache Hive 配置为使用 EMR 安全配置中配置的 Kerberos 进行身份验证。HivesServer 2 也可以配置为使用 LDAP 对用户进行身份验证。有关信息,请参阅在多租户 Amazon EMR 集群上为 Hive 实施 LDAP 身份验证
限制
以下是当前针对 Amazon EMR 5.x 上的 Apache Hive 插件的限制:
-
当前不支持 Hive 角色。不支持 Grant、Revoke 语句。
-
不支持 Hive CLI。JDBC/Beeline 是连接 Hive 的唯一授权方式。
-
hive.server2.builtin.udf.blacklist
配置中应填充您认为不安全的 UDF。