安全数据共享

Snowflake 管理、治理与协作

Emily Melhuish

Technical Curriculum Developer, Snowflake

传统数据共享的问题

traditional_problem.png

Snowflake 管理、治理与协作

Snowflake 共享的工作原理

图示:两个组织之间的传统数据流程,包含抽取、传输、加载步骤

data_sharing_v3.png

Snowflake 管理、治理与协作

创建 Share

CREATE SHARE claro_credit_risk_share; -- Step 1

GRANT USAGE ON DATABASE credit_risk_db -- Step 2
  TO SHARE claro_credit_risk_share;
GRANT USAGE ON SCHEMA credit_risk_db.analytics
  TO SHARE claro_credit_risk_share;
GRANT SELECT ON TABLE credit_risk_db.analytics.risk_summary
  TO SHARE claro_credit_risk_share;

ALTER SHARE claro_credit_risk_share -- Step 3
  ADD ACCOUNTS = partner_bank.eu_west;
Snowflake 管理、治理与协作

挂载 Share

-- Consumer creates a database from the share
CREATE DATABASE claro_shared_data
  FROM SHARE claro.eu_west.claro_credit_risk_share;

-- Query it like any other database
SELECT *
FROM claro_shared_data.analytics.risk_summary;
Snowflake 管理、治理与协作

只读账户

  • 并非所有合作方都有 Snowflake 账户
  • Claro 代合作方创建只读账户
  • 合作方用提供的凭据查询共享数据
  • 权衡:Claro 为只读账户的计算付费

Secure data sharing.png

Data sharing.png

Snowflake 管理、治理与协作

共享中的安全视图

  • 默认:SECURE_OBJECTS_ONLY = TRUE 并排对比:标准视图向使用方暴露其 SQL 定义,安全视图对其隐藏

  • 虽不建议,仍可将 SECURE_OBJECTS_ONLY 设为 FALSE

1 https://docs.snowflake.com/en/user-guide/data-sharing-secure-views
Snowflake 管理、治理与协作

Passons à la pratique !

Snowflake 管理、治理与协作

Preparing Video For Download...