如何授予非管理员用户在 Snowflake 中查看完整的登录历史记录
Posted
技术标签:
【中文标题】如何授予非管理员用户在 Snowflake 中查看完整的登录历史记录【英文标题】:How to grant non-admin users to see full login history in Snowflake 【发布时间】:2020-11-13 21:26:59 【问题描述】:我是雪花的新手,作为一名 DBA,我获得了 ACCOUNTADMIN 访问权限。我已通过角色向我们的安全应用程序用户授予对 information_schema.login_history 和 information_schema.query_history 的读取权限。
用户可以登录和查询以上视图。但是,当查询以上视图时,该帐户无法查看所有行。只返回该用户的登录历史,该用户的查询历史。我从我的最后测试了它,将角色从 ACCOUNTADMIN 切换到我创建的读取角色,我看到了同样的事情。
谁能告诉我我需要授予该角色哪些权限,以便使用该角色的任何人都可以看到所有登录历史记录?
【问题讨论】:
欢迎来到雪花!下面回答 【参考方案1】:您可以在两个地方查看登录历史记录——在“帐户使用情况”视图中或使用“信息架构”表函数。文档here 解释了这些差异。
查看差异后,许多客户会选择授予非管理员访问 Account_Usage 视图的权限以进行审核。文档here 中提到了为此所需的拨款。
但是,如果您希望授予非管理员角色访问 Information_Schema login_history 表函数的权限,您可能需要根据文章 here 为每个所需用户授予此角色的 MONITOR 权限。
【讨论】:
【参考方案2】:您需要向所述角色授予监控权限:
grant monitor usage on account to role custom;
此信息只能由帐户管理员访问/查看。为了使不是帐户管理员的用户能够访问/查看此信息,Snowflake 提供了全局 MONITOR USAGE 权限。将 MONITOR USAGE 权限授予角色允许所有被授予该角色的用户访问此历史/使用信息。
此外,使用此权限,SHOW DATABASES 和 SHOW WAREHOUSES 命令分别返回帐户中所有数据库和仓库的列表,而不考虑其他权限授予。
参考:https://docs.snowflake.com/en/user-guide/security-access-control-configure.html#enabling-non-account-administrators-to-monitor-usage-and-billing-history
【讨论】:
以上是关于如何授予非管理员用户在 Snowflake 中查看完整的登录历史记录的主要内容,如果未能解决你的问题,请参考以下文章
授予远程用户(非管理员)使用 WMI 和 C# 在命名空间 cimv2 中枚举 Win32_Service 服务的能力
如何在 Oracle SQL 开发人员中查看/执行授予的存储过程