CDP实操--配置Hive/Impala的Ranger策略验证(二)
1.1Hive/impala的Ranger策略验证
确保hive-on-tez的配置页面里已经勾选了“Ranger Service”
在terminal中,kerberos登录到hive,用如下命令登录beeline
beeline -u 'jdbc:hive2://master-2.example.com:10000/default;principal=hive/_HOST@EXAMPLE.COM;ssl=true;sslTrustStore=/var/lib/cloudera-scm-agent/agent-cert/cm-auto-global_truststore.jks'
创建数据库test,并在数据库test里创建表person
用如下sql命令,插入数据到表person中
insert into table person values(001,'mark'),(002, 'anna'),(003, 'erica');
退出beeline,切换用户为sam_sec并再次进入beeline,查询test.person表,报错显示sam_sec用户没有对表test.person的select权限
在ranger控制台里,添加hadoopsql策略只允许sam_sec查询test.person表中的name列
再次尝试select访问test.table的name列,可以成功访问该列,但是不能访问id列,因为ranger策略只赋予了name列的select权限。
Impala的策略验证与上述过程相似,具体可以参考附录“附录:鉴权/授权(Authorization)”章节中的“基于资源的服务和策略”