如何在Snowflake DB中列出用户的所有角色?

10

在Snowflake DB中,是否可以列出用户可以访问的所有角色?

我似乎可以显示具有访问权限的用户,但是我无法弄清楚如何列出用户被授予的角色。当然,我可以遍历角色并从那个角度着手解决问题,但是这样做正好相反会非常有益。

2个回答

16

结果表明:

show grants to user <user-name>;

实际上列出了用户的角色。我之前尝试过这个功能,但是没有正确阅读输出结果,浪费了很多时间寻找替代方案。


1
谢谢,比我预想的要花更长时间才能弄清楚。 - Josh
是的,你不是唯一的一个 :). - John Humphreys
1
该命令不会列出用户被分配的所有角色,特别是不会列出继承的角色。 - Chadwick Robbert
您也可以使用database.information_schema表来实现此功能,但正如Chadwick所指出的那样,它不会默认列出带有where user=<username>子句的嵌套角色。您需要找出角色树的最大深度,并针对该深度执行嵌套查询,直到达到底部。 - Jk Jensen

0

您还可以使用Jetty查看Snowflake中的所有角色(直接和嵌套)。它是免费使用的,并且可以在本地针对您的本机Snowflake实例运行。

https://docs.get-jetty.com/

完全透明:我是Jetty Labs的联合创始人,这家公司建造了Jetty。

a screen capture of a user view in Jetty, viewing direct and inherited group membership


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接