Fivetran ログを収集する

以下でサポートされています。

このドキュメントでは、Webhook を使用して Fivetran を構成し、ログを Google Security Operations に push する方法について説明します。

Fivetran は、さまざまなソースからデータ ウェアハウスへのデータ パイプラインを自動化するデータ統合プラットフォームです。Fivetran は、コネクタの同期イベント、変換イベント、接続ステータスの変更などの運用イベントを生成します。これらのイベントは、アウトバウンド Webhook を介して外部エンドポイントに送信し、モニタリング、アラート、セキュリティ分析を行うことができます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス。
  • 管理者権限またはアカウント レベルの権限を持つ Fivetran アカウント。
  • Google Cloud コンソールへのアクセス権(API キーの作成用)。
  • REST API アクセスが有効になっている Fivetran アカウント。

Google SecOps で Webhook フィードを作成する

フィードを作成する

  1. [SIEM Settings] [>] [Feeds] に移動します。
  2. Click [+ Add New].
  3. [Configure a single feed] を選択します。
  4. [Feed name] フィールドに名前を入力します(例: Fivetran Events)。
  5. [Source type] として [Webhook] を選択します。
  6. [Log type] として [Fivetran] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。
    • Split delimiter (省略可): 空のままにします。
    • アセットの名前空間: アセットの名前空間
    • 取り込みラベル: このフィードのイベントに適用されるラベル。
  9. [次へ] をクリックします。
  10. 新しいフィードの設定を確認し、[送信] をクリックします。

秘密鍵を生成して保存する

  1. フィードの詳細ページで、[Generate Secret Key] をクリックします。
  2. ダイアログに秘密鍵が表示されます。
  3. 秘密鍵をコピーして安全に保存 します。

フィード エンドポイント URL を取得する

  1. フィードの [詳細] タブに移動します。
  2. [Endpoint Information] セクションで、Feed endpoint URL をコピーします。
  3. 次の手順で使用するため、この URL を保存します。
  4. [完了] をクリックします。

Google Cloud API キーを作成する

Google SecOps では、認証に API キーが必要です。

API キーを作成する

  1. [Google Cloud コンソール 認証情報] ページに移動します。
  2. プロジェクトを選択します。
  3. [認証情報を作成] [>] [API キー] をクリックします。
  4. [API キーを編集] をクリックして、キーを制限します。

API キーを制限する

  1. [API キー] 設定で次の操作を行います。
    • [名前] に、わかりやすい名前を入力します(例: SecOps Webhook API Key)。
  2. [API の制限]:
    1. [キーを制限] を選択します。
    2. プルダウンで「Google SecOps API 」(または「Chronicle API 」)を検索して選択します。
  3. [保存] をクリックします。
  4. API キーの値をコピー して安全に保存します。

Fivetran Webhook を構成する

Webhook URL を作成する

  • エンドポイント URL と API キーを組み合わせます。

    <ENDPOINT_URL>?key=<API_KEY>
    

Fivetran REST API を使用して Webhook を作成する

Fivetran API 認証情報を取得する

  1. Fivetran アカウントにログインします。
  2. [**Account Settings**] > [**API Config**] に移動します。
  3. API キーがない場合は、[Generate API Key] をクリックします。
  4. API キーAPI Secret をコピーします。

アカウント レベルの Webhook を作成する

この方法を使用すると、アカウント内のすべてのコネクタからイベントを受信できます。

  1. ターミナルを開いて次のコマンドを実行します。

    curl -X POST [https://api.fivetran.com/v1/webhooks/account](https://api.fivetran.com/v1/webhooks/account) \
            -u "API_KEY:API_SECRET" \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                    "url": "[https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY](https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY)",
                    "events": [
                            "sync_start",
                            "sync_end",
                            "transformation_start",
                            "transformation_succeeded",
                            "transformation_failed",
                            "connection_successful",
                            "connection_failure",
                            "create_connector",
                            "pause_connector",
                            "resume_connector",
                            "edit_connector",
                            "delete_connector",
                            "force_update_connector",
                            "resync_connector",
                            "resync_table"
                    ],
                    "active": true,
                    "secret": "YOUR_CHRONICLE_SECRET_KEY"
            }'
    

Webhook の詳細

使用可能な Webhook イベント

イベント 説明
sync_start コネクタの同期が開始されました
sync_end コネクタの同期が完了しました
transformation_start 変換が開始されました
transformation_succeeded 変換が完了しました
transformation_failed 変換に失敗しました
connection_successful 接続テストに成功しました
connection_failure 接続テストに失敗しました
create_connector 新しいコネクタが作成されました

Webhook の再試行動作

Fivetran は、失敗した Webhook を次のスケジュールで最大 24 時間 自動的に再試行します。

再試行 最初の試行後の時間
1 回目の再試行 6 分
2 回目の再試行 27 分
3 回目の再試行 1 時間 45 分
4 回目の再試行 6 時間 25 分
5 回目の再試行 23 時間 13 分

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
jsonPayload.connector_id additional.connector_id 値を直接コピーしました。
jsonPayload.connector_type additional.connector_type 値を直接コピーしました。
jsonPayload.data.query additional.query 値を直接コピーしました。
なし metadata.event_type プリンシパルとターゲットの有無に基づいて設定します。
jsonPayload.event metadata.product_event_type 値を直接コピーしました。
jsonPayload.sync_id metadata.product_log_id 値を直接コピーしました。
jsonPayload.connector_name principal.hostname 値を直接コピーしました。
resource.labels.email_id principal.user.email_addresses 形式が有効なメールの場合にマッピングされます。
resource.labels.unique_id principal.user.userid 値を直接コピーしました。
severity security_result.severity 「INFO」は INFORMATIONAL にマッピングされます。
logName target.resource.name 値を直接コピーしました。
なし target.resource.type DATABASE に設定します。
なし metadata.product_name FIVETRAN に設定します。
なし metadata.vendor_name FIVETRAN に設定します。

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