系统吧 专业的电脑操作系统,支持重装各种原版系统xp/win7/win8/win10 这个系统怎么样?试试系统吧系统,体验办公系统畅快愉悦感。 各种电脑系统安装过程一样,神一般的畅快!
-->
当前位置:主页 > 电脑技术 >

hive权限用Sentry详细使用测试文档(3)

作者:谢昕芙 分类:电脑技术 发布时间:2021-07-10 16:56:00

// show role grant group user1 (查看user1的角色列表)// show role grant group user2(查看user2的角色列表)0: jdbc:hive2://uhadoop-4wvgxxla-master2:1000> show role grant group user1;+---...

// show role grant group user1 (查看user1的角色列表)// show role grant group user2(查看user2的角色列表)0: jdbc:hive2://uhadoop-4wvgxxla-master2:1000> show role grant group user1;+--------+---------------+-------------+----------+| role | grant_option | grant_time | grantor |+--------+---------------+-------------+----------+| role1 | false | 0 | -- |+--------+---------------+-------------+----------+1 row selected (0.144 seconds)0: jdbc:hive2://uhadoop-4wvgxxla-master2:1000> show role grant group user2;+--------+---------------+-------------+----------+| role | grant_option | grant_time | grantor |+--------+---------------+-------------+----------+| role2 | false | 0 | -- |+--------+---------------+-------------+----------+1 row selected (0.125 seconds)

4 使用user1, user2用户登陆,验证权限隔离//user1登陆,只能看到db1数据库beeline -u "jdbc:hive2://uhadoop-4wvgxxla-master2:10000" -n user1 -e "show databases;"

// user2用户登陆,只能看到db2数据库beeline -u "jdbc:hive2://uhadoop-4wvgxxla-master2:10000" -n user2 -e "show databases;"

    其他使用测试5.1 将role从角色中剔除REVOKE ROLE role1 FROM GROUP user1;删除role//先查看角色列表show roles

// 删除角色drop role role2;

角色权限撤销// 先查看角色当前授权信息show grant role role1;

// 将db1的操作权限从role1撤销revoke all on database db1 from role role1;

授权语句说明:角色授权和撤销GRANT ROLE role_name [, role_name] TO GROUP [,GROUP ]REVOKE ROLE role_name [, role_name] FROM GROUP [,GROUP ]

权限的授予和撤销GRANT [, ] ON TO ROLE [,ROLE ]REVOKE [, ] ON FROM ROLE [,ROLE ]

查看角色/组权限SHOW ROLES;SHOW CURRENT ROLES;SHOW ROLE GRANT GROUP ;SHOW GRANT ROLE ;SHOW GRANT ROLE on OBJECT ;


查看所有的角色0: jdbc:hive2://uhadoop-4wvgxxla-master2:1000> show roles;+--------+| role |+--------+| admin || role1 || role2 |+--------+3 rows selected (0.12 seconds)

#将某个数据库读权限授予给某个roleGRANT SELECT ON DATABASE db_name TO ROLE role_name;

#将test 表的 S1 列的读权限授权给role_name (TABLE也可以不写)GRANT SELECT(s1) ON TABLE test TO ROLE role_name;

#test表的select 权限给 role_name 角色 GRANT SELECT ON TABLE test TO ROLE role_name;

例子:目前有2个用户user1 // 有db1下t1 表的所有权限user2 // 有db2下t2 表的所有权限

目前有角色+--------+| role |+--------+| admin | //所有库的最高权限 all | role1 | // 只有db1库的所有权限| role2 | // 只有db2库下的所有权限+--------+

0: jdbc:hive2://uhadoop-4wvgxxla-master2:1000> show databases;+------------------------+| database_name |+------------------------+| db1 | | db2 || default || temp | | test_hive_ucloud10086 |+------------------------+

[hadoop@uhadoop-4wvgxxla-master1 ~]$ beeline -u "jdbc:hive2://uhadoop-4wvgxxla-master2:10000" -n user2 -e "select * from db2.t2;"Transaction isolation: TRANSACTION_REPEATABLE_READ+---------+| t2.id |+---------+| t2_001 || t2_002 |+---------+2 rows selected (0.631 seconds)Beeline version 2.3.3 by Apache Hive[hadoop@uhadoop-4wvgxxla-master1 ~]$ beeline -u "jdbc:hive2://uhadoop-4wvgxxla-master2:10000" -n user2 -e "insert into db2.t2 values ('t2_003'),('t2_004');"Connected to: Apache Hive (version 2.3.3)Driver: Hive JDBC (version 2.3.3)Transaction isolation: TRANSACTION_REPEATABLE_READNo rows affected (25.708 seconds)

再查询一次,ok 插入成功Transaction isolation: TRANSACTION_REPEATABLE_READ+---------+| t2.id |+---------+| t2_001 || t2_002 || t2_003 || t2_004 |+---------+4 rows selected (0.605 seconds)Beeline version 2.3.3 by Apache HiveClosing: 0: jdbc:hive2://uhadoop-4wvgxxla-master2:10000

接下来,我有个需求,我想把temp下的student表给user2开放首先user2对于的role2角色要有temp库的select权限然后再把temp库下的student表的select权限给到role2 这个角色那么user2属于role2 角色下 自然就有了temp下的student表的select权限

xp 更多>>
win7 更多>>
win8 更多>>
win10 更多>>
U盘 更多>>
电脑技术 更多>>
网站地图 | 豫ICP备2021035069号-4 | 友情链接qq:191064436
系统吧

版权所有 © 2012-2023 系统吧 免责声明:本站资源均收集于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时删除相应资源。