Snowflake cloud data platform Snowflake中的角色元数据表

Snowflake cloud data platform Snowflake中的角色元数据表,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,我需要检查分配给用户的角色和授权,但是要从元数据表中进行检查。 基本上,我需要元数据表,在这里我可以使用多个角色查询,例如XXX、YYY、ZZZ。我需要这个来获得可能被授予的角色的层次结构 我可以显示角色XXX的授权-这将为我提供该角色被授予的所有用户/角色,但我必须一次只显示一个角色。 如果我这样做 它只给我授予此角色的用户,而不是角色本身。 如果我选中“向角色授予权限”表-它会给我该角色的实际权限,但不会给特定角色授予的其他角色。您可以使用显示语法,而不是选择: 显示帐户中的角色 将为您提供

我需要检查分配给用户的角色和授权,但是要从元数据表中进行检查。 基本上,我需要元数据表,在这里我可以使用多个角色查询,例如XXX、YYY、ZZZ。我需要这个来获得可能被授予的角色的层次结构

我可以显示角色XXX的授权-这将为我提供该角色被授予的所有用户/角色,但我必须一次只显示一个角色。 如果我这样做

它只给我授予此角色的用户,而不是角色本身。
如果我选中“向角色授予权限”表-它会给我该角色的实际权限,但不会给特定角色授予的其他角色。

您可以使用显示语法,而不是选择:

显示帐户中的角色

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

从表中选择*(结果扫描(最后一次查询id())


并使用与其他表连接,或者只是复制到某种临时表中,然后从那里进一步连接

您提到了层次结构-我想您想看看哪些角色被授予了其他角色

试试这个:

show grants of role Your_Role

在返回的表中,您将看到一些角色被分配给其他角色和用户。列授予_to

也许您可以按照此处关于存储过程的建议做些什么?希望它能给你一些想法。
show grants of role Your_Role