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

如何安全共享带行级安全的Snowsight工作表与仪表板?

Snowflake中安全共享带行级安全的Snowsight工作表与仪表板方案

一、Snowsight工作表的安全共享配置

  • 限制查询历史访问权限:
    不要直接共享完整工作表权限,而是创建只读角色并严格限制其查询历史访问能力:

    -- 撤销角色的全局监控权限
    REVOKE MONITOR ON ACCOUNT FROM ROLE READ_ONLY_ROLE;
    -- 仅允许角色查看自身的查询历史
    GRANT SELECT ON VIEW SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY TO ROLE READ_ONLY_ROLE WITH GRANT OPTION FALSE;
    

    共享时选择仅共享可视化结果,不开放查询编辑器权限,阻止用户查看原始查询语句和历史记录。

  • 确保行级安全绑定到底层表:
    行级安全策略(Row Access Policy)必须直接绑定到工作表依赖的表/视图,而非仅在工作表查询中做临时过滤,这样即使用户接触到查询逻辑,也无法绕过权限控制:

    CREATE OR REPLACE ROW ACCESS POLICY region_rlp
    ON sales_table
    AS (region VARCHAR) RETURNS BOOLEAN ->
    CURRENT_ROLE() IN ('REGION_NORTH', 'REGION_SOUTH') AND region = CURRENT_ROLE()::STRING;
    
    ALTER TABLE sales_table ADD ROW ACCESS POLICY region_rlp ON (region);
    

二、解决仪表板绕过行级安全的问题

  • 启用实时数据刷新模式:
    默认仪表板会缓存最后更新用户的查询结果,导致行级安全失效。需在仪表板编辑模式的「设置」选项卡中,将「数据刷新」设置为每次查看时刷新,禁用「使用缓存结果」,确保每个用户查看时都用自身权限重新执行查询。

  • 基于受保护视图构建仪表板:
    创建绑定了行级安全策略的专用视图,让仪表板基于该视图构建,同时仅授予指定角色访问该视图的权限:

    CREATE OR REPLACE VIEW dashboard_sales_view AS
    SELECT * FROM sales_table; -- 已绑定行级安全策略
    
    GRANT SELECT ON VIEW dashboard_sales_view TO ROLE DASHBOARD_VIEWER;
    

三、无历史结果存储的「安全模式」实现

  • 使用可视化-only共享选项:
    共享工作表或仪表板时,选择「仅允许查看可视化内容」,不开放编辑、查看查询的权限。这种模式下用户无法访问查询历史,只能看到基于自身权限生成的实时可视化结果。

  • 零拷贝克隆+行级安全隔离:
    对目标数据创建零拷贝克隆表,绑定行级安全策略后再构建工作表和仪表板,即使存在查询历史,也只能访问克隆表中被授权的数据,不会触及原始数据:

    CREATE OR REPLACE TABLE sales_table_clone CLONE sales_table;
    ALTER TABLE sales_table_clone ADD ROW ACCESS POLICY region_rlp ON (region);
    

四、关键注意事项

  • 遵循最小权限原则,仅授予用户完成工作所需的最低权限,避免使用ACCOUNTADMIN、SYSADMIN等高权限角色。
  • 定期审计权限和查询历史,排查未授权访问:
    SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY 
    WHERE ROLE_NAME = 'READ_ONLY_ROLE' AND QUERY_TEXT LIKE '%sales_table%';
    
  • 禁止在工作表/仪表板查询中硬编码数据过滤逻辑,必须依赖行级安全策略,防止用户修改过滤条件绕过权限。

内容的提问来源于stack exchange,提问作者Marco Roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:01:13