加密、警报与通知

Snowflake 管理、治理与协作

Emily Melhuish

Technical Curriculum Developer, Snowflake

三层防护

三层图:上为加密,中为警报,下为通知

Snowflake 管理、治理与协作

静态与传输中加密

静态(At Rest) 传输中(In Transit)
标准 AES-256 TLS 1.2 或更高
密钥轮换 自动 N/A
范围 存储数据 客户端与内部流量

加密.png

Snowflake 管理、治理与协作

密钥管理选项

加密模型 说明
Snowflake 托管密钥 默认。Snowflake 代表您管理密钥。适用于大多数组织。
客户自管密钥(Tri-Secret Secure) 适用于敏感数据。客户通过 AWS KMS、Azure Key Vault 或 GCP KMS 持有主密钥。

keys.png

Snowflake 管理、治理与协作

Tri-Secret Secure

  • 解密需三者同时满足
  • Snowflake 密钥 + 客户 KMS 密钥 + 用户成功认证
  • 客户撤销其密钥后,Snowflake 也无法访问数据
  • 适用于 Business Critical 版及更高版本

三把密钥

Snowflake 管理、治理与协作

什么是 Snowflake 警报?

  • 评估 SQL 条件,成立时触发操作
  • 计划式:按 CRON 或分/小时间隔运行
  • 事件驱动:流有新数据即触发
  • 条件为真时执行操作:通常为通知

警报的可视化表示

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

SQL 中的警报结构

CREATE ALERT claro_failed_login_alert
  WAREHOUSE = claro_wh
  SCHEDULE = '60 MINUTE'
  IF (EXISTS (
    SELECT 1
    FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
    WHERE error_code IS NOT NULL
      AND event_timestamp >= DATEADD('hour', -1, CURRENT_TIMESTAMP())
  ))
  THEN CALL SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(...);
Snowflake 管理、治理与协作

通知集成

通知

Snowflake 管理、治理与协作

开始练习!

Snowflake 管理、治理与协作

Preparing Video For Download...