apache-sentry - Sentry 是否控制使用 HDFS 协议的客户端对 HDFS 文件的访问?
问题描述
Apache Sentry文档对 Sentry 的描述如下:
Sentry 目前可与 Apache Hive、Hive Metastore/HCatalog、Apache Solr、Impala 和 HDFS(仅限于 Hive 表数据)一起使用。
文档还显示了一个图像,表明直接访问 HDFS 的应用程序不会使用 Sentry 而是使用文件 ACL - 我的理解是否正确?
解决方案
您从文档中的理解是正确的。
例如,使用 Hive,/user/hive/warehouse
当启用 Sentry 时,与存储在 HDFS 路径中的托管表关联的数据(默认情况下)将归 hive:hive (user:group) 所有。这样,除了被授权使用 Sentry 规则访问的用户之外,其他用户将被限制访问这些目录下的文件。
那些存在于Hive这个默认HDFS路径之外的数据,即通常与External table关联的数据和HDFS中的其他数据,仍然可以绕过Sentry正常访问,因为这些默认情况下不由Sentry管理。
因此,如果我们想通过启用 Sentry 的集群中的 Hive 查询将数据写入其中一个目录,我们需要为分配给组的角色分配所需的权限(运行查询的用户是成员)。
希望这可以帮助!
更多关于哨兵规则的信息在这里
推荐阅读
- angular - 如何在同一个地方加载另一个组件角度 5?
- python - 尝试在 AWS 上读取 csv 时出现内存错误
- python - 根据用户输入的标准从 .csv 打印行
- git - 在推送之前撤消特定的本地提交
- javascript - 使用 nodejs 服务器读取和打印文件内容?
- python-3.x - 俄罗斯方块 - 右侧碰撞闪烁问题
- swift - UIView 子视图被放置在意外位置(Swift 4)
- json - 剃刀页面和 Json
- spring - Spring STS - Maven 构建错误 - 此环境中未提供编译器。也许您在 JRE 而不是 JDK 上运行?春天
- node.js - 将 JWT 令牌保存到本地存储