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 エンドポイントが返す一意の識別子に置き換えられます。

始める前に

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 で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、Your Workdesk から保留中のアクションに対応する手動アクションを実行するをご覧ください。

カスタムクエリを実行する

[カスタムクエリを実行] アクションを使用して、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"

}
出力メッセージ

[Execute Custom Query] アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

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

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[Execute Custom Query] アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

Execute Simple Query

Execute Simple Query アクションを使用して、指定されたパラメータに基づいてクエリを実行します。

このアクションは非同期です。必要に応じて、Google SecOps IDE でスクリプト タイムアウト値を調整します。

このアクションは Google SecOps エンティティに対しては実行されません。

アクション入力

[Execute Simple Query] アクションには、次のパラメータが必要です。

パラメータ 説明
Database

必須。

クエリを実行するデータベースの名前。

Table

必須。

クエリするテーブルの名前。

Schema

省略可。

クエリするスキーマの名前。

Where Filter

省略可。

クエリ結果をフィルタリングする WHERE 句。

LIMIT または SORT キーワードは使用しないでください。ペイロードに WHERE 文字列を設定しないでください。

クエリでは単一引用符のみがサポートされています。

Fields To Return

省略可。

返されるフィールドのカンマ区切りリスト。

このパラメータを構成しないと、アクションですべてのフィールドが返されます。

デフォルト値は * です。

Sort Field

省略可。

結果の並べ替えに使用する値。

Sort Order

省略可。

並べ替え順序(昇順または降順)。

値は次のいずれかになります。

  • ASC
  • DESC

デフォルト値は ASC です。

Max Results To Return

省略可。

アクション実行ごとに返される結果の最大数。

デフォルト値は 50 です。

アクションの出力

[Execute Simple Query] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、[Execute Simple Query] アクションを使用したときに受信した JSON 結果の出力を示しています。

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

}
出力メッセージ

[Execute Simple Query] アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

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

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Execute Simple Query アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

Ping

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 True または False

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。