Snowflake cloud data platform 雪花仓库:获取分配给用户的所有角色(包括继承的角色)

Snowflake cloud data platform 雪花仓库:获取分配给用户的所有角色(包括继承的角色),snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我正在尝试获取用户所属的所有角色。在我的例子中,用户是管理员角色的一部分,该角色继承了另一个角色摄食者,这将继承另一个角色分析者。如果我从snowflake查询如下: show grants to user <userid> 向用户显示授权 这仅列出管理员角色,而不列出其他两个角色(摄食者、分析师)。如果同一用户登录到snowflake,他可以在角色下拉列表中看到所有三个可供他使用的角色 需要帮助才能获取所有显式角色,而不考虑角色继承。首先,视图及其组合包含您需要的信息, 但只能

我正在尝试获取用户所属的所有角色。在我的例子中,用户是管理员角色的一部分,该角色继承了另一个角色摄食者,这将继承另一个角色分析者。如果我从snowflake查询如下:

show grants to user <userid>
向用户显示授权
这仅列出管理员角色,而不列出其他两个角色(摄食者、分析师)。如果同一用户登录到snowflake,他可以在角色下拉列表中看到所有三个可供他使用的角色

需要帮助才能获取所有显式角色,而不考虑角色继承。

首先,视图及其组合包含您需要的信息,
但只能访问
ACCOUNTADMIN

你还有:

SELECT * FROM "MY_DATABASE"."INFORMATION_SCHEMA"."ENABLED_ROLES";
SELECT * FROM "MY_DATABASE"."INFORMATION_SCHEMA"."APPLICABLE_ROLES";

后者看起来是一个很好的起点。

我找到了找到所有继承角色的最佳方法

只需在SQL下面运行

SELECT CURRENT_AVAILABLE_ROLES()

请不要在回答中提升。有关更多信息、答案和我们的社区,请参阅我们的帮助中心。