首页 > 解决方案 > Sentry 是否控制使用 HDFS 协议的客户端对 HDFS 文件的访问?

问题描述

Apache Sentry文档对 Sentry 的描述如下:

Sentry 目前可与 Apache Hive、Hive Metastore/HCatalog、Apache Solr、Impala 和 HDFS(仅限于 Hive 表数据)一起使用。

文档还显示了一个图像,表明直接访问 HDFS 的应用程序不会使用 Sentry 而是使用文件 ACL - 我的理解是否正确?

在此处输入图像描述

标签: apache-sentry

解决方案


您从文档中的理解是正确的。

例如,使用 Hive,/user/hive/warehouse当启用 Sentry 时,与存储在 HDFS 路径中的托管表关联的数据(默认情况下)将归 hive:hive (user:group) 所有。这样,除了被授权使用 Sentry 规则访问的用户之外,其他用户将被限制访问这些目录下的文件。

那些存在于Hive这个默认HDFS路径之外的数据,即通常与External table关联的数据和HDFS中的其他数据,仍然可以绕过Sentry正常访问,因为这些默认情况下不由Sentry管理。

因此,如果我们想通过启用 Sentry 的集群中的 Hive 查询将数据写入其中一个目录,我们需要为分配给组的角色分配所需的权限(运行查询的用户是成员)。

希望这可以帮助!

更多关于哨兵规则的信息在这里


推荐阅读