Onfido ログを収集する
このパーサーは、Onfido SYSLOG と JSON 形式のログからフィールドを抽出し、UDM にマッピングします。grok を使用してメッセージ フィールドを解析し、JSON ペイロードが存在する場合は処理し、特定のプロダクト イベントタイプを UDM イベントタイプにマッピングします。たとえば、ログインが成功した場合はイベントタイプを USER_LOGIN
に、その他のイベントの場合は USER_UNCATEGORIZED
に設定します。また、ユーザー情報、送信元 IP、セキュリティ結果の詳細の UDM フィールドにも入力されます。
始める前に
- Google SecOps インスタンスがあることを確認します。
- Onfido ダッシュボードへの特権アクセス権があることを確認します。
Onfido ログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Onfido ログ)。
- [ソースタイプ] として [Webhook] を選択します。
- [ログタイプ] で [Onfido] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- 分割区切り文字: ログ行を区切るために使用される区切り文字(
\n
など)。 - アセットの名前空間: アセットの名前空間。
- 取り込みラベル: このフィードのイベントに適用されるラベル。
- 分割区切り文字: ログ行を区切るために使用される区切り文字(
- [次へ] をクリックします。
- [Finalize] 画面でフィードの設定を確認し、[送信] をクリックします。
- [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
- シークレット キーをコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。
- [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL は、クライアント アプリケーションで指定する必要があります。
- [完了] をクリックします。
Webhook フィードの API キーを作成する
Google Cloud コンソール > [認証情報] に移動します。
[認証情報を作成] をクリックして [API キー] を選択します。
API キーのアクセスを Google Security Operations API に制限します。
エンドポイント URL を指定する
- クライアント アプリケーションで、Webhook フィードで指定された HTTPS エンドポイント URL を指定します。
次の形式でカスタム ヘッダーの一部として API キーとシークレット キーを指定して、認証を有効にします。
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
推奨事項: API キーは URL ではなくヘッダーとして指定してください。
Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーとシークレット キーを指定できます。
ENDPOINT_URL?key=API_KEY&secret=SECRET
次のように置き換えます。
ENDPOINT_URL
: フィードのエンドポイント URL。API_KEY
: Google SecOps に対する認証に使用する API キー。SECRET
: フィードの認証用に生成したシークレット キー。
Onfido Webhook を構成する
- Onfido ダッシュボードにログインします。
- [設定] > [Webhooks] に移動します。
- [Add Webhook] をクリックします。
次の入力パラメータの値を指定します。
- Webhook URL: Google SecOps API エンドポイントの
<ENDPOINT_URL>
を入力します。
- イベント: Webhook をトリガーするイベントを選択します(check.completed や report.completed など)。
- Webhook URL: Google SecOps API エンドポイントの
[保存] をクリックして、Webhook を作成します。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
category |
security_result.category_details |
未加工ログの category フィールドの値が security_result.category_details に割り当てられます。 |
check_id |
metadata.product_log_id |
未加工ログの json_data フィールドから抽出された check_id フィールドの値が metadata.product_log_id に割り当てられます。prod_evt_type が「ログイン成功」の場合、値「AUTHTYPE_UNSPECIFIED」が割り当てられます。 |
metadata.event_timestamp |
未加工のログエントリのタイムスタンプはエポック秒に変換され、metadata.event_timestamp に割り当てられます。 |
|
metadata.event_type |
prod_evt_type が「Successful login」の場合、値 USER_LOGIN が割り当てられます。それ以外の場合は USER_UNCATEGORIZED が割り当てられます。 |
|
metadata.product_name |
パーサー コードは値を「ONFIDO」に設定します。 | |
prod_evt_type |
metadata.product_event_type |
元のログの prod_evt_type フィールドの値が metadata.product_event_type に割り当てられます。 |
metadata.vendor_name |
パーサー コードは値を「ONFIDO」に設定します。 | |
metadata.product_version |
パーサー コードは値を「ONFIDO」に設定します。 | |
security_result.action |
security_result.action |
prod_evt_type が「Successful login」の場合、値 ALLOW が割り当てられます。 |
src_ip |
principal.ip |
未加工ログの src_ip フィールドの値が principal.ip に割り当てられます。 |
user_email |
target.user.email_addresses |
未加工ログの user_email フィールドの値が target.user.email_addresses に割り当てられます。 |
user_name |
target.user.user_display_name |
未加工ログの user_name フィールドの値が target.user.user_display_name に割り当てられます。 |
変更点
2023-03-10
- 新しく作成されたパーサー。