开头
Impala因为是Cloudera出的,所以官方文档说明里只写了使用自家的Sentry方式进行权限管理,而对于Hortonworks家的Ranger只字未提,网上都是说可以通过特殊方案集成到Ranger上,但是没有找到具体方案,在此也提不了了。
首先,Sentry 的使用有两种方式,一是基于文件的存储方式(SimpleFileProviderBackend),一是基于数据库的存储方式(SimpleDbProviderBackend),如果使用基于文件的存储则只需要安装sentry,否则还需要安装 sentry-store。因为工作上使用的是Hortonworks家的Ranger,也没有安装sentry-store,所以默认采取基于配置文件的方式对Impala进行权限管控。
具体步骤
1、创建 policy.ini 文件,并配置groups,roles与users,关于 policy.ini 文件的语法说明,请参考官方文档。
[groups]
hive = any_operation
[roles]
any_operation = server=server1->db=*->table=*->action=*
[users]
hive= hive
2、将其上传到 hdfs 的 /user/impala/ 目录: