【发布时间】:2017-09-22 12:47:55
【问题描述】:
我有一个 Kerberized CDH 集群,每天运行一些 oozie 工作流。他们都使用shell、impala-shell、hive 和sqoop 将数据摄取到Hive 表(我们称这些表为SensitiveTables)
现在,我想创建 2 个新的 BI 用户来使用集群并试验其他一些提取的数据。
要求是这些新的 BI 用户:
- 应该不有权访问
SensitiveTables - 应该能够
spark-submit作业到集群 - (可选)使用色调
除了设置Apache Sentry(这是推荐的方法)之外,是否有机会使用文件权限或 ACL 和服务级别授权来满足这些要求?
到目前为止,我设法(通过 hadoop fs -chmod o-rwx /user/hive/warehouse/sensitive)通过 Hive(使用用户模拟)限制对 SensitiveTables 的访问,但通过 Impala(它以用户 impala 将所有作业提交到集群)未能这样做)。还有什么我应该尝试的吗?
谢谢你,
哎呀
【问题讨论】:
-
当然,你是对的。谢谢。
-
Sentry 的设置并不难。它只是一个额外的 SPOF(或者更确切地说是 2 个,因为它不支持 Metastore HA)。额外的好处是,它会解决关于 ACL 无法正确传播的 HDFS 错误(直到 Hadoop 3 才修复)。
-
看起来 Cloudera 故意没有在 Impala 中开发适当的授权,将人们锁定在 Sentry 中。但他们似乎不再投资 Sentry 了。他们转向销售人员可以吹嘘的闪亮的新玩具(Kudu,Data Science Workbench)。最终,他们将转向另一个新玩具,并放弃所有半生不熟的项目(还记得 Sqoop2...?)
标签: hadoop hive permissions impala