Fivetran ログを収集する
以下でサポートされています。
Google SecOps
SIEM
このドキュメントでは、Webhook を使用して Fivetran を構成し、ログを Google Security Operations に push する方法について説明します。
Fivetran は、さまざまなソースからデータ ウェアハウスへのデータ パイプラインを自動化するデータ統合プラットフォームです。Fivetran は、コネクタの同期イベント、変換イベント、接続ステータスの変更などの運用イベントを生成します。これらのイベントは、アウトバウンド Webhook を介して外部エンドポイントに送信し、モニタリング、アラート、セキュリティ分析を行うことができます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス。
- 管理者権限またはアカウント レベルの権限を持つ Fivetran アカウント。
- Google Cloud コンソールへのアクセス権(API キーの作成用)。
- REST API アクセスが有効になっている Fivetran アカウント。
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [SIEM Settings] [>] [Feeds] に移動します。
- Click [+ Add New].
- [Configure a single feed] を選択します。
- [Feed name] フィールドに名前を入力します(例:
Fivetran Events)。 - [Source type] として [Webhook] を選択します。
- [Log type] として [Fivetran] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- Split delimiter (省略可): 空のままにします。
- アセットの名前空間: アセットの名前空間。
- 取り込みラベル: このフィードのイベントに適用されるラベル。
- [次へ] をクリックします。
- 新しいフィードの設定を確認し、[送信] をクリックします。
秘密鍵を生成して保存する
- フィードの詳細ページで、[Generate Secret Key] をクリックします。
- ダイアログに秘密鍵が表示されます。
- 秘密鍵をコピーして安全に保存 します。
フィード エンドポイント URL を取得する
- フィードの [詳細] タブに移動します。
- [Endpoint Information] セクションで、Feed endpoint URL をコピーします。
- 次の手順で使用するため、この URL を保存します。
- [完了] をクリックします。
Google Cloud API キーを作成する
Google SecOps では、認証に API キーが必要です。
API キーを作成する
- [Google Cloud コンソール 認証情報] ページに移動します。
- プロジェクトを選択します。
- [認証情報を作成] [>] [API キー] をクリックします。
- [API キーを編集] をクリックして、キーを制限します。
API キーを制限する
- [API キー] 設定で次の操作を行います。
- [名前] に、わかりやすい名前を入力します(例:
SecOps Webhook API Key)。
- [名前] に、わかりやすい名前を入力します(例:
- [API の制限]:
- [キーを制限] を選択します。
- プルダウンで「Google SecOps API 」(または「Chronicle API 」)を検索して選択します。
- [保存] をクリックします。
- API キーの値をコピー して安全に保存します。
Fivetran Webhook を構成する
Webhook URL を作成する
エンドポイント URL と API キーを組み合わせます。
<ENDPOINT_URL>?key=<API_KEY>
Fivetran REST API を使用して Webhook を作成する
Fivetran API 認証情報を取得する
- Fivetran アカウントにログインします。
- [**Account Settings**] > [**API Config**] に移動します。
- API キーがない場合は、[Generate API Key] をクリックします。
- API キー と API Secret をコピーします。
アカウント レベルの Webhook を作成する
この方法を使用すると、アカウント内のすべてのコネクタからイベントを受信できます。
ターミナルを開いて次のコマンドを実行します。
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 のプロフェッショナルから回答を得ることができます。