You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建仅可访问Snowflake仪表板的专属角色与用户?

创建仅能访问Snowflake仪表板的自定义角色/用户方案

预定义角色说明

Snowflake没有专门仅用于访问仪表板的预定义角色,需要创建自定义角色实现权限隔离。

自定义角色配置步骤

1. 创建基础角色

先创建专门用于仪表板访问的角色:

CREATE ROLE DASHBOARD_VIEWER;

2. 配置数据访问权限(关键:隔离底层表)

仪表板需要读取数据,但要禁止直接访问原始数据库/表,需通过安全视图封装数据:

  • 创建专门的数据库和schema存放仪表板用视图:
CREATE DATABASE DASHBOARD_DATA;
CREATE SCHEMA DASHBOARD_DATA.PUBLIC;
  • 创建安全视图,仅暴露仪表板所需字段:
CREATE SECURE VIEW DASHBOARD_DATA.PUBLIC.APP_METRICS AS
SELECT timestamp, log_level, request_count FROM YOUR_PROD_DB.PUBLIC.APP_LOGS;
  • 授予角色对视图及对应层级的最小权限:
GRANT USAGE ON DATABASE DASHBOARD_DATA TO ROLE DASHBOARD_VIEWER;
GRANT USAGE ON SCHEMA DASHBOARD_DATA.PUBLIC TO ROLE DASHBOARD_VIEWER;
GRANT SELECT ON VIEW DASHBOARD_DATA.PUBLIC.APP_METRICS TO ROLE DASHBOARD_VIEWER;

3. 授予仪表板访问权限

授予角色对目标仪表盘及所在文件夹的权限:

-- 若仪表盘在文件夹中,先授予文件夹使用权限
GRANT USAGE ON FOLDER <你的仪表盘文件夹名称> TO ROLE DASHBOARD_VIEWER;
-- 授予仪表盘查看权限
GRANT VIEW ON DASHBOARD <你的仪表盘名称> TO ROLE DASHBOARD_VIEWER;

4. 配置必要的辅助权限

  • 允许角色使用Snowsight界面:
GRANT USAGE ON ACCOUNT TO ROLE DASHBOARD_VIEWER;
  • 授予仓库使用权限(供仪表板执行查询):
GRANT USAGE ON WAREHOUSE <你的仓库名称> TO ROLE DASHBOARD_VIEWER;

5. 创建用户并关联角色

CREATE USER DASHBOARD_USER 
PASSWORD='StrongPassword123' 
DEFAULT_ROLE=DASHBOARD_VIEWER 
MUST_CHANGE_PASSWORD=FALSE;

GRANT ROLE DASHBOARD_VIEWER TO USER DASHBOARD_USER;

最佳实践

  • 最小权限原则:仅授予角色完成仪表板访问的必要权限,绝不授予原始数据库/表的直接访问权
  • 安全视图隔离:用安全视图封装数据,防止用户查看敏感字段或底层表结构
  • 资源限制:为角色使用的仓库设置资源监控或固定小规格(如X-SMALL),避免过度消耗资源
  • 定期权限审计:定期运行SHOW GRANTS TO ROLE DASHBOARD_VIEWER检查权限,移除不必要的授权
  • 禁用冗余功能:在用户设置中禁用经典UI访问,强制仅使用Snowsight,减少潜在权限风险

内容的提问来源于stack exchange,提问作者Emile Dadou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:50:35