整合 Snowflake 與 Google SecOps

本文說明如何將 Snowflake 與 Google Security Operations (Google SecOps) 整合。

整合版本:5.0

端點

Snowflake 整合功能會使用下列 Snowflake API 端點:

  • /api/statements?async=false:用於測試與 Snowflake 執行個體的連線。這個端點會執行簡單的查詢,以驗證連線。

  • /api/statements?async=true:用於向 Snowflake 提交自訂和簡單查詢。async=true 參數支援非同步執行,並允許動作擷取大型資料集,不會封鎖 Google SecOps 平台。

  • /api/statements/QUERY_ID:用於擷取先前提交查詢的結果。整合功能會將 QUERY_ID 預留位置替換為 /api/statements?async=true 端點傳回的專屬 ID。

事前準備

如要使用 Snowflake 整合功能,請產生私密金鑰,並以 base64 格式編碼。

如要產生私密金鑰,請使用 SnowSQL。如要進一步瞭解如何使用 SnowSQL,請參閱「安裝 SnowSQL」。

Snowflake 整合功能採用金鑰組驗證。如要進一步瞭解 Snowflake 中的金鑰,請參閱「使用金鑰配對驗證」。

整合參數

Snowflake 整合需要下列參數:

參數 說明
API Root

必填。

Snowflake 執行個體的 API 根層級。

預設值為 https://INSTANCE.snowflakecomputing.com

Account

必填。

Snowflake 帳戶名稱。

Username

必填。

用來存取 Snowflake 的使用者名稱。

Private Key

必填。

用於驗證的私密金鑰。

Verify SSL

必填。

選取後,整合服務會在連線至 Snowflake 時驗證 SSL 憑證。

(此為預設選項)。

如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。

如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「回覆『你的工作台』中的待處理動作」和「執行手動動作」。

執行自訂查詢

使用「執行自訂查詢」動作,在 Snowflake 中執行自訂查詢。

這項動作是非同步作業。視需要調整 Google SecOps 整合式開發環境 (IDE) 中動作的指令碼逾時值。

這項操作不會在 Google SecOps 實體上執行。

動作輸入內容

「執行自訂查詢」動作需要下列參數:

參數 說明
Query

必填。

要在 Snowflake 中執行的 SQL 查詢。

這項動作會自動將 LIMIT 關鍵字加入查詢。請勿手動設定 LIMIT 關鍵字。

查詢僅支援單引號。

Database

必填。

要查詢的 Snowflake 資料庫名稱。

Schema

選填。

要查詢的指定資料庫中的結構定義名稱。

Max Results To Return

選填。

每次動作執行時,查詢傳回的結果數量上限。

預設值為 50

動作輸出內容

「執行自訂查詢」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼結果 可用
JSON 結果

下列範例顯示使用「執行自訂查詢」動作時收到的 JSON 結果輸出內容:

{
    "C_CUSTKEY": "CUSTOMER_KEY",
    "C_NAME": "Customer#ID",
    "C_ADDRESS": "9Ii4zQn9cX",
    "C_NATIONKEY": "14",
    "C_PHONE": "800-555-0175"

}
輸出訊息

「執行自訂查詢」動作可以傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully executed query "QUERY" in Snowflake.

No results were found for the query "QUERY" in Snowflake.

動作成功。
Error executing action "Execute Custom Query". Reason: ERROR_REASON

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表列出使用「執行自訂查詢」動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

執行簡單查詢

使用「執行簡單查詢」動作,根據提供的參數執行查詢。

這項動作是非同步作業。視需要調整 Google SecOps IDE 中動作的指令碼逾時值。

這項操作不會在 Google SecOps 實體上執行。

動作輸入內容

「執行簡單查詢」動作需要下列參數:

參數 說明
Database

必填。

要查詢的資料庫名稱。

Table

必填。

要查詢的資料表名稱。

Schema

選填。

要查詢的結構定義名稱。

Where Filter

選填。

用於篩選查詢結果的 WHERE 子句。

請勿使用 LIMITSORT 關鍵字。請勿在酬載中設定 WHERE 字串。

查詢僅支援單引號。

Fields To Return

選填。

以半形逗號分隔的欄位清單,用於指定要傳回的欄位。

如未設定這項參數,動作會傳回所有欄位。

預設值為 *

Sort Field

選填。

用來排序結果的值。

Sort Order

選填。

排序順序 (遞增或遞減)。

可能的值如下:

  • ASC
  • DESC

預設值為 ASC

Max Results To Return

選填。

每個動作執行作業要傳回的結果數上限。

預設值為 50

動作輸出內容

「執行簡單查詢」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼結果 可用
JSON 結果

以下範例顯示使用「執行簡單查詢」動作時收到的 JSON 結果輸出內容:

{
    "C_CUSTKEY": "CUSTOMER_KEY",
    "C_NAME": "Customer#ID",
    "C_ADDRESS": "9Ii4zQn9cX",
    "C_NATIONKEY": "14",
    "C_PHONE": "800-555-0175"

}
輸出訊息

「執行簡單查詢」動作可以傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully executed query "QUERY" in Snowflake.

No results were found for the query "QUERY" in Snowflake.

動作成功。
Error executing action "Execute Simple Query". Reason: ERROR_REASON

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表列出使用「執行簡單查詢」動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

乒乓

使用「Ping」動作測試與 Snowflake 的連線。

這項操作不會在 Google SecOps 實體上執行。

動作輸入內容

動作輸出內容

「Ping」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼結果 可用
輸出訊息

「Ping」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully connected to the Snowflake server with the provided connection parameters! 動作成功。
Failed to connect to the Snowflake server! The error is ERROR_REASON

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表列出使用「Ping」動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。