如何防止Apache Hive绕过Zookeeper直接连接到jdbc

uurv41yg  于 12个月前  发布在  Hive
关注(0)|答案(1)|浏览(156)

通过Apache Ranger配置Apache Hive保护连接通过zookeeper仲裁,例如:

jdbc:hive2://d01.test.local:2181,d 02.test.local:2181,d 03.test.local:2181/;service Discovery Mode=zooKeeper;zooKeeperNamespace=hiveserver2

用户可以通过指定与主机的直接连接来连接到Hive 2,例如:

jdbc:hive2://d01.test.local:10000

但在Have Service Name的策略设置中,只能有一个(文件ranger-hive-security.xml)
那么,如何保护Hive免受这种直接连接?
如果策略是通过zookeeper配置的,那么直接连接就不安全,审计也不会工作

relj7zay

relj7zay1#

Zookeeper quorum用于服务高可用性,它协调集群中指定主机的所有HS 2示例一起工作。
据我所知,指定属性hive.zookeeper.quorum并不能帮助Ranger强制每个HS 2主机只有一个插件。
要实现你的愿望,我认为你可以去这样的配置;

  • 在每个有HS 2的节点上安装Ranger Hive插件。
  • 创建一个服务/存储库,以在每个节点上的install.properties中指定REPOSITORY_NAME
  • 将每个Hive插件配置为使用相同的服务/存储库。
  • 重新启动HS 2s。
  • 在服务/存储库下创建/修改/删除策略。

通过这种方式,您在服务下创建/删除/修改的任何策略都将影响所有HS 2节点,因为它们共享相同的存储库。

相关问题