加密、警示與通知

Snowflake 管理、治理與協作

Emily Melhuish

Technical Curriculum Developer, Snowflake

三層防護

三層示意圖:上為加密,中為警示,下為通知

Snowflake 管理、治理與協作

靜態與傳輸中加密

靜態(At Rest) 傳輸中(In Transit)
標準 AES-256 TLS 1.2 或更高
金鑰輪替 自動 N/A
範圍 已儲存資料 用戶端與內部流量

Encryption.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...