BigQuery を Google SecOps と統合する
このドキュメントでは、BigQuery を Google Security Operations(Google SecOps)と統合する方法について説明します。
統合バージョン: 15.0
この統合では、1 つ以上のオープンソース コンポーネントを使用します。この統合のソースコードの zip 形式のコピーは、Cloud Storage バケットからダウンロードできます。
ユースケース
Google SecOps プラットフォームでは、BigQuery の統合により、次のユースケースを解決できます。
脅威インテリジェンスの拡充: BigQuery に保存されている脅威インテリジェンス データを使用してセキュリティ アラートを自動的に拡充し、潜在的な脅威の重大度と信頼性を評価します。
たとえば、不審な IP アドレスによってアラートがトリガーされるたびに、既知の悪意のある IP アドレスを含む BigQuery テーブルをクエリするように Google SecOps を構成できます。Google SecOps は、BigQuery テーブルで一致するものを確認し、関連するマルウェア ファミリーなどの追加のコンテキストを取得します。
ユーザー行動分析: BigQuery に保存された過去のユーザー アクティビティ ログを分析して、異常なユーザー アクティビティを特定し、内部関係者による脅威と不正使用されたアカウントを検出します。
たとえば、Google SecOps を構成して、ユーザーの通常の地理位置情報以外のログイン試行について BigQuery をクエリし、検出された不審なアクティビティに対して自動インシデント対応をトリガーできます。
セキュリティ データレイクの分析: BigQuery のクエリ機能を使用して、データレイクに集約されたさまざまなソースからの大量のセキュリティ データを分析し、脅威ハンティングとインシデント調査を改善します。
たとえば、データレイクに保存されている複数のセキュリティ ツールのログから、特定のファイル ハッシュに関連するすべてのイベントを BigQuery にクエリするように Google SecOps を構成できます。
長期的なセキュリティ データの保持: BigQuery ストレージを使用して、大量のセキュリティ ログを長期間保持し、履歴分析、コンプライアンス レポート、フォレンジック調査をサポートします。
たとえば、解決済みのインシデント データを BigQuery に自動的にアーカイブして長期保存し、将来の監査や調査でデータを利用できるように Google SecOps を構成できます。
始める前に
この統合を使用するには、 Google Cloud サービス アカウントが必要です。
サービス アカウントを作成して構成する
BigQuery を Google SecOps と統合するには、既存のサービス アカウントを使用するか、新しいサービス アカウントを作成します。サービス アカウントの作成については、サービス アカウントを作成するをご覧ください。
Workload Identity のメールアドレスを使用して統合を構成しない場合は、サービス アカウントの作成後にJSON でサービス アカウント キーを作成します。統合パラメータを構成するときに、ダウンロードした JSON キーファイルの内容をすべて指定する必要があります。
セキュリティ上の理由から、サービス アカウントの JSON キーではなく、ワークロード ID のメールアドレスを使用することをおすすめします。ワークロード ID の詳細については、ワークロードの ID をご覧ください。
統合のパラメータ
BigQuery インテグレーションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Account Type |
省略可。 BigQuery アカウントのタイプ。 サービス アカウント キーの JSON ファイルの デフォルト値は |
Project ID |
省略可。 BigQuery アカウントのプロジェクト ID。 認証 JSON ファイルの |
Private Key ID |
省略可。 BigQuery アカウントの秘密鍵 ID。 認証 JSON ファイルの |
Private Key |
省略可。 BigQuery アカウントの秘密鍵。 認証 JSON ファイルの |
Client Email |
省略可。 BigQuery アカウントのクライアント メールアドレス。 認証 JSON ファイルの |
Client ID |
省略可。 BigQuery アカウントのクライアント ID。 認証 JSON ファイルの |
Auth URI |
省略可。 BigQuery アカウントの認証 URI。 認証 JSON ファイルの デフォルト値は |
Token URI |
省略可。 BigQuery アカウントのトークン URI。 認証 JSON ファイルの デフォルト値は |
Auth Provider X509 URL |
省略可。 BigQuery アカウントの認証プロバイダ X.509 URL。 認証 JSON ファイルの デフォルト値は |
Client X509 URL |
省略可。 BigQuery アカウントのクライアント X.509 URL。 認証 JSON ファイルの デフォルト値は |
Service Account Json File Content |
省略可。 サービス アカウント キーの JSON ファイルの内容。 このパラメータまたは このパラメータを構成するには、サービス アカウントの作成時にダウンロードしたサービス アカウント キーの JSON ファイルの内容全体を指定します。 このパラメータを構成すると、統合では他の接続パラメータが無視されます。 |
Workload Identity Email |
省略可。 サービス アカウントのクライアント メールアドレス。 このパラメータまたは このパラメータを設定する場合は、 Workload Identity 連携を使用してサービス アカウントの権限を借用するには、サービス アカウントに |
Quota Project ID |
省略可。 Google Cloud API と課金に使用する Google Cloud プロジェクト ID。このパラメータを使用するには、サービス アカウントに このパラメータの値を設定しない場合、統合は Google Cloud サービス アカウントからプロジェクト ID を取得します。 |
Verify SSL |
省略可。 選択すると、統合は Google Cloudに接続するときに SSL 証明書を検証します。 デフォルトで選択されています。 |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。
操作
アクションの詳細については、Your Workdesk から保留中のアクションに対応すると手動アクションを実行するをご覧ください。
Ping
Ping アクションを使用して、BigQuery への接続をテストします。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
なし
アクションの出力
[Ping] アクションでは、次の出力が提供されます。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
出力メッセージ
Ping アクションは、次の出力メッセージを返すことができます。
出力メッセージ | メッセージの説明 |
---|---|
Successfully connected to the Google BigQuery server with
the provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Google BigQuery server! Error is
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
カスタムクエリを実行する
カスタムクエリを実行アクションを使用して、BigQuery でカスタムクエリを実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[カスタムクエリを実行] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Query |
必須。 実行する SQL クエリ。 |
Max Results To Return |
省略可。 レスポンスごとに返す結果の数。 デフォルト値は |
アクションの出力
[カスタムクエリを実行] アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用可能 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、[カスタムクエリを実行] アクションを使用したときに受信した JSON 結果の出力を示しています。
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
出力メッセージ
[カスタムクエリを実行] アクションは、次の出力メッセージを返すことができます。
出力メッセージ | メッセージの説明 |
---|---|
Successfully executed query in Google BigQuery! |
アクションが成功しました。 |
Error executing action "Run Custom Query". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、[カスタムクエリを実行] アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
SQL クエリを実行する
BigQuery でクエリを実行するには、[SQL クエリを実行] アクションを使用します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[SQL クエリを実行] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Dataset Name |
必須。 クエリの実行時に使用するデータセットの名前。 |
Query |
必須。 実行する SQL クエリ。 |
Max Results To Return |
省略可。 レスポンスごとに返す結果の数。 デフォルト値は |
アクションの出力
[SQL クエリを実行する] アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用不可 |
拡充テーブル | 利用不可 |
JSON の結果 | 利用不可 |
出力メッセージ | 利用可能 |
スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、SQL クエリを実行アクションを使用した場合に受信する JSON 結果の出力を示しています。
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
出力メッセージ
[SQL クエリを実行] アクションは、次の出力メッセージを返すことがあります。
出力メッセージ | メッセージの説明 |
---|---|
Successfully executed query in the BigQuery dataset
DATASET_NAME. |
アクションが成功しました。 |
Error executing action "Run SQL Query". Reason:
ERROR_REASON |
操作を実行できませんでした。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、[SQL クエリを実行] アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。