Created 02-10-2023 06:17 AM
Hi All,
I want to find out what are the roles / groups assigned to a DB / Schema in Hive, how I can get those details ? please suggest.
Thank you.
Regards,
PK
Created 02-17-2023 10:46 AM
PK,
If you have access to the Sentry Store backend use a query like this:
SELECT
r.ROLE_NAME,
g.GROUP_NAME,
p.*,
FROM_UNIXTIME(p.CREATE_TIME / 1000) as CREATE_TIME_DATE
FROM
SENTRY_ROLE r
INNER JOIN SENTRY_ROLE_GROUP_MAP rgm ON r.ROLE_ID = rgm.ROLE_ID
INNER JOIN SENTRY_GROUP g ON g.GROUP_ID = rgm.GROUP_ID
INNER JOIN SENTRY_ROLE_DB_PRIVILEGE_MAP rpm ON r.ROLE_ID = rpm.ROLE_ID
INNER JOIN SENTRY_DB_PRIVILEGE p ON p.DB_PRIVILEGE_ID = rpm.DB_PRIVILEGE_ID;
Hope it helps,
-JMP
Created 02-13-2023 10:08 AM
What is the specific version of HDP /CDH / CDP ?
Created 02-14-2023 04:43 AM
CDH 6.3
Created 02-14-2023 08:41 AM
Use the following command reference
These are to be executed from Hive Beeline to view Role Privileges and Assignments
> SHOW ROLES;
List available roles
> SHOW CURRENT ROLES;
List roles assigned to current user/group
> SHOW ROLE GRANT GROUP <GROUP NAME>;
Lists the roles that are assigned to the specified group.
> SHOW GRANT ROLE <ROLE>;
Lists the permissions that have been granted to the specified role.
>SHOW GRANT ROLE <role name> ON <object type> <object name>
Lists the permissions that a role has on an object.
Created on 02-17-2023 09:52 AM - edited 02-17-2023 09:55 AM
Hi,
Thank you for the reply, but if I know the role or group, I can easily get the details from above commands, but for a specific DB , if I want to find out what are the roles assigned, is there a way to do it ?
Assume, my schema name is schema1, how to find out the roles assigned to this schema ?
Thank you.
Regards,
PK
Created 02-17-2023 09:45 AM
@prakodi Has the reply helped resolve your issue? If so, please mark the appropriate reply as the solution, as it will make it easier for others to find the answer in the future. Thanks
Regards,
Diana Torres,Created 02-17-2023 10:46 AM
PK,
If you have access to the Sentry Store backend use a query like this:
SELECT
r.ROLE_NAME,
g.GROUP_NAME,
p.*,
FROM_UNIXTIME(p.CREATE_TIME / 1000) as CREATE_TIME_DATE
FROM
SENTRY_ROLE r
INNER JOIN SENTRY_ROLE_GROUP_MAP rgm ON r.ROLE_ID = rgm.ROLE_ID
INNER JOIN SENTRY_GROUP g ON g.GROUP_ID = rgm.GROUP_ID
INNER JOIN SENTRY_ROLE_DB_PRIVILEGE_MAP rpm ON r.ROLE_ID = rpm.ROLE_ID
INNER JOIN SENTRY_DB_PRIVILEGE p ON p.DB_PRIVILEGE_ID = rpm.DB_PRIVILEGE_ID;
Hope it helps,
-JMP
Created 02-17-2023 11:04 AM
Thank you very much.
Regards,
PK