Snowflake:如何通过数据库角色为非ACCOUNTADMIN分配Account_Usage视图权限
关于Snowflake ACCOUNT_USAGE内置数据库角色的说明与操作步骤
这些SNOWFLAKE数据库角色是预创建好的,不需要你手动创建——Snowflake已经在SNOWFLAKE数据库中内置了这四个角色,并预先为它们分配了对应ACCOUNT_USAGE视图的SELECT权限。
具体操作步骤如下:
- 切换到拥有足够权限的角色(比如ACCOUNTADMIN),执行授权命令,把内置数据库角色授予给你的目标账户角色:
四个内置角色的权限范围按需选择即可:-- 示例:授予READER级别的ACCOUNT_USAGE权限给自定义角色ANALYST_ROLE GRANT ROLE SNOWFLAKE.READER_ACCOUNT_USAGE TO ROLE ANALYST_ROLE;- SNOWFLAKE.READER_ACCOUNT_USAGE:只读基础视图权限
- SNOWFLAKE.MONITORING_ACCOUNT_USAGE:监控类视图权限
- SNOWFLAKE.OPERATOR_ACCOUNT_USAGE:操作类视图权限
- SNOWFLAKE.ADMIN_ACCOUNT_USAGE:最高级别的ACCOUNT_USAGE权限(接近ACCOUNTADMIN的视图访问范围)
- 授权完成后,切换到目标角色验证权限:
USE ROLE ANALYST_ROLE; SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY LIMIT 10;
如果需要更细粒度的权限控制,也可以跳过内置角色,直接给目标角色授予特定ACCOUNT_USAGE视图的SELECT权限,但使用内置角色更符合Snowflake权限管理的最佳实践,便于统一维护。
内容的提问来源于stack exchange,提问作者ARPAN BANERJEE
相关产品推荐
相关产品推荐

