在没有 Sentry 的情况下授权 Hadoop 用户
Authorizing Hadoop users without Sentry
我有一个 Kerberized CDH 集群,其中有一些日常的 oozie 工作流 运行。他们都使用 shell
、impala-shell
、hive
和 sqoop
将数据提取到 Hive 表(我们称这些表为 SensitiveTables
)
现在,我想创建 2 个新的 BI 用户来使用集群并试验一些其他摄取的数据。
要求是这些新的 BI 用户:
- 应该不可以访问
SensitiveTables
- 应该能够
spark-submit
作业到集群
- (可选)使用 Hue
除了设置 Apache Sentry(这是推荐的方法)之外,是否有机会使用文件权限或 ACL 和服务级别授权来满足这些要求?
到目前为止,我设法(通过 hadoop fs -chmod o-rwx /user/hive/warehouse/sensitive
)通过 Hive(使用用户模拟)限制对 SensitiveTables
的访问,但未能通过 Impala(提交所有作业都以用户 impala
的身份添加到集群)。还有什么我应该尝试的吗?
谢谢,
哎呀
经过大量研究并根据我描述的假设,答案是否定的。此外,无法以这种方式保护 Metastore。
我有一个 Kerberized CDH 集群,其中有一些日常的 oozie 工作流 运行。他们都使用 shell
、impala-shell
、hive
和 sqoop
将数据提取到 Hive 表(我们称这些表为 SensitiveTables
)
现在,我想创建 2 个新的 BI 用户来使用集群并试验一些其他摄取的数据。
要求是这些新的 BI 用户:
- 应该不可以访问
SensitiveTables
- 应该能够
spark-submit
作业到集群 - (可选)使用 Hue
除了设置 Apache Sentry(这是推荐的方法)之外,是否有机会使用文件权限或 ACL 和服务级别授权来满足这些要求?
到目前为止,我设法(通过 hadoop fs -chmod o-rwx /user/hive/warehouse/sensitive
)通过 Hive(使用用户模拟)限制对 SensitiveTables
的访问,但未能通过 Impala(提交所有作业都以用户 impala
的身份添加到集群)。还有什么我应该尝试的吗?
谢谢,
哎呀
经过大量研究并根据我描述的假设,答案是否定的。此外,无法以这种方式保护 Metastore。