雪花中的角色元数据表

时间:2020-01-30 15:34:03

标签: snowflake-cloud-data-platform snowflake-schema

我需要检查从元数据表获得的角色和授予用户的权限。 基本上,我需要元数据表,我可以在其中使用多个角色查询此数据。 XXX,YYY,ZZZ。我需要它来获取可能已被授予的角色的层次结构。

我可以显示角色XXX的授予权限-这将向我授予该角色所授予的所有用户/角色,但是我一次只能做一个角色。 如果我这样做

SELECT * 
FROM SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS 
WHERE ROLE='XXX' 
AND DELETED_ON IS null;

它仅给我授予该角色的用户,而不给角色本身。 如果我检查GRANTS_TO_ROLES表-它为我提供了该角色的实际特权,但没有授予该特定角色的其他角色。

2 个答案:

答案 0 :(得分:0)

您可以使用SHOW语法而不是选择:

show roles in account;

将为您提供完整的角色列表(仍然来自元数据)。不确定您要进一步对它们做些什么,但是如果您确实想将结果作为查询进行处理,可以通过

select * from table(result_scan(last_query_id()));

并用于与其他表联接,或仅复制到某种临时表中并从那里进一步联接

答案 1 :(得分:0)

您提到了层次结构-我怀疑您想查看将哪些角色授予其他角色。

尝试一下:

show grants of role Your_Role

在返回的表格中,您会看到一些角色已分配给其他角色和用户。列grant_to