1 角色管理命令
1.1 创建角色
创建一个新角色,需要 admin 用户执行
CREATE ROLE role_name;
1.2 删除角色
删除一个角色,需要 admin 用户执行
DROP ROLE role_name;
1.3 显示当前角色
显示用户当前角色列表
SHOW CURRENT ROLES;
1.4 设定角色
如果指定了role_name,则该角色将成为当前角色中的唯一角色
将Role_Name设置为All将刷新当前角色的列表(在新角色被授予用户的情况下),并将其设置为默认的角色列表。
将Role_Name设置为None将从当前用户中删除所有当前角色。
SET ROLE (role_name|ALL|NONE);
1.5 显示角色
列出所有当前存在的角色。
只有admin角色对此有特权。
SHOW ROLES;
1.6 赋权/撤销语法
第一种
将一个或多个角色授予其他角色或用户。
如果指定了“WITH ADMIN OPTION”,则用户将获得将该角色授予其他用户/角色的权限。
如果授予语句最终在角色之间创建循环关系,则该命令将失败并出现错误。
GRANT role_name [, role_name] ...
TO principal_specification [, principal_specification] ...
[ WITH ADMIN OPTION ];
principal_specification
: USER user
| ROLE role
从FROM子句中的用户/角色中撤消角色的成员权限。
REVOKE [ADMIN OPTION FOR] role_name [, role_name] ...
FROM principal_specification [, principal_specification] ... ;
principal_specification
: USER user
| ROLE role
第二种
GRANT ROLE role_name [, role_name] ...
TO principal_specification [, principal_specification] ...
[WITH ADMIN OPTION]
REVOKE [ADMIN OPTION FOR] ROLE role_name [, role_name] ...
FROM principal_specification [, principal_specification] ...
principal_specification:
USER user
| GROUP group
| ROLE role
1.7 显示角色授予
principal_name是用户或角色的名称。
列出已授予给定用户或角色的所有角色。
SHOW ROLE GRANT (USER|ROLE|GROUP ) principal_name;
示例:
0: jdbc:hive2://localhost:10000> SHOW ROLE GRANT USER user1;
+---------+---------------+----------------+----------+
| role | grant_option | grant_time | grantor |
+---------+---------------+----------------+----------+
| public | false | 0 | |
<