版本: 5.14.2
Hive数据存储在HDFS中,通常位于/user/hive/warehouse下 。如果/user/hive and /user/hive/warehouse 目录尚不存在,则需要创建目录。确保这个位置(或者你指定的任何路径 hive.metastore.warehouse.dir )存在并且可以由您希望创建表的用户写入。
重要:
Cloudera建议将Hive仓库目录的权限设置为 1777 ,让所有用户都可以访问 。这允许用户创建和访问他们的表,但是阻止不了他们删除其他用户的表。
另外,每个提交查询的用户都必须有一个HDFS主目录。 / tmp目录 (在本地文件系统上)必须是可写的,因为Hive广泛使用它。
HiveServer2 Impersonation 允许用户以连接用户的身份执行查询并访问HDFS文件。
如果您未启用impersonation,HiveServer2默认执行所有Hive任务作为启动Hive服务器的用户对于使用Kerberos身份验证的群集,这是映射到与HiveServer2一起使用的 Kerberos主体 的ID 。设置权限 1777 如上所述,允许此用户访问Hive仓库目录。
您可以 在服务器和客户端上 设置更改此默认行为hive.metastore.execute.setugi 为true。此设置会使Metastore服务器使用客户端的用户和组权限。
一、权限查询1、查询master用户拥有的权限
2、查询master用户对于库dw拥有的权限
二、赋权限
给master用户赋dw库all的 *** 作权限
三、服务器上切换登录用户
Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计。它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过 *** 作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。
本文章介绍Ranger与Hive集成过程,与使用方法
登陆RangerAdmin: http://l-node1.data.beta.cn0:6080
点击 hivebeta 开始Hive权限控制
根据我们刚才的配置,hive用户拥有all权限
点击 Add New Policy 给rangeruser1用户授予ranger_test_db.t_user.* select权限
添加一个Masking Policy
Select Masking Option里面填Mask的选项,默认有: 显示前4位、显示后4位、哈希、Null值、日期类型仅显示年等。我们这里使用Custom自定义,
其实就是写Select子句 可以根据逻辑自己实现,也可使用UDF。本例中我们使用 concat(substr(phone,1,7),'****') 将手机号的后四位屏蔽掉
添加一个Row Level Filter Policy
Row Level Filter里面填Filter的过滤规则,其实就是写Where子句。本例中我们使用 name <>'hanze' 将 name为'hanze'的用户过滤掉
上图的Policy,实现了这样的场景:
产品组(product)可以访问带"TAG"标签的资源但实习生(intern)不靠谱 实习生没有访问权限但因实习生中的 meizi 表现突出 给他赋予访问权限
Apache Ranger Installation
Apache Ranger User Guide
Hortonworks HDP doc
HDFS + Ranger
Ranger PPT
Ranger + Atlas PPT
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)