跳到主要内容

ranger hive 测试

ranger hive shou tables 权限问题

ranger的策略匹配, 用的是trie树对策略资源进行快速筛选命中, 然后再判断是否有权限, 这种是单点的判断策略.

列表型与权限策略的绑定筛选一般都是比较复杂的, 测试发现show tables 竟然可以与ranger策略连动,

目前还没看源码, 不知道是如何实现的.

配置不同的ranger权限, 展示的数据表列表不同.

  • 如果没有可以读取的表, show tables显示的只是空.
0: jdbc:hive2://172.16.16.17:7001/default> show tables;
+-----------+
| tab_name |
+-----------+
+-----------+
No rows selected (0.046 seconds)
  • ranger策略, 只授予g002的读写权限时, show tables展示的只有g002表.
0: jdbc:hive2://172.16.16.17:7001/default> show tables;
+-----------+
| tab_name |
+-----------+
| g002 |
+-----------+
1 row selected (0.044 seconds)

picture 1

  • ranger策略, 配置了g003的读写权限时, g002和g003都可以被展示出来.
0: jdbc:hive2://172.16.16.17:7001/default> show tables;
+-----------+
| tab_name |
+-----------+
| g002 |
| g003 |
+-----------+
2 rows selected (0.043 seconds)

picture 2

  • show tables在audit中, 识别的就是show tables本身.

picture 0