【问题标题】:Read-only privilege to view users in Snowflake在 Snowflake 中查看用户的只读权限
【发布时间】:2021-07-30 04:10:51
【问题描述】:

我想创建一个对我的 Snowflake 帐户中的用户列表具有只读访问权限的角色。我知道我可以将 MANAGE GRANTS 全局权限授予我的角色以启用 SHOW USERS;,如 here 所述:

create role auditor;
grant MANAGE GRANTS on account to role auditor;

但在我的情况下,我不希望这个角色有权执行诸如授予权限之类的事情。我只是希望这个角色能够阅读用户列表和有关他们的各种信息。我怎样才能做到这一点?

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    您是否考虑过授予角色访问权限以查询 SNOWFLAKE.ACCOUNT_USAGE 视图而不是 SHOW 命令? ACCOUNT_USAGE 架构中的视图提供了许多相同的信息,您可以向非管理员授予访问权限,如 here 所述。

    如果您不希望用户/角色有权访问每个 ACCOUNT_USAGE 视图,另一个想法是使用管理员将结果捕获/复制到单独的表中并授予角色访问该表的权限。您甚至可以设置一个任务来定期更新表格。示例文章是here

    【讨论】:

    • 谢谢 - SNOWFLAKE.ACCOUNT_USAGE 给了我想要的数据。这种方法唯一不理想的地方似乎是这些视图的延迟时间长达数小时 (docs.snowflake.com/en/sql-reference/…)。
    • 正确,这是缺点。 Information_Schema 具有实时数据,但它有局限性并且不会回溯到那么远,因此这取决于您更喜欢权衡取舍。这是我的帖子的链接,其中讨论了那里的权限:stackoverflow.com/questions/58294920/…
    • information_schema 有一些对我有用的信息,但我在那里看不到“用户”视图。 information_schema.applicable_roles 有一些用户,但不是完整列表。任何指向查询的指针以获取 information_schema 中的完整用户列表?
    • 正确,限制之一是可供选择的视图较少,因此“用户”等较新的视图尚不可用。那将是一个功能请求。如果 Account_Usage.Users 的延迟不能满足您的业务需求,那么您可以使用管理员运行 SHOW USERS 命令并将结果捕获到非管理员可以使用/查询的表中。我之前链接过这篇文章,但如果有帮助我会再次链接:community.snowflake.com/s/article/…
    猜你喜欢
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2015-04-12
    • 2011-02-20
    • 2021-10-16
    • 2014-09-28
    相关资源
    最近更新 更多