Auth0 ログを収集する

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

概要

このパーサーは、JSON 形式のメッセージから Auth0 ログイベントを抽出します。UDM フィールドを初期化し、JSON ペイロードを解析し、関連するフィールドを UDM スキーマにマッピングし、type フィールドに基づいてイベントを分類し、適切なセキュリティ アクションとイベントタイプを設定します。

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • 必要な権限を持つ Auth0 アカウント。

Auth0 ログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: Auth0 ログ)。
  4. [ソースタイプ] として [Webhook] を選択します。
  5. [Log type] として [AUTH_ZERO] を選択します。
  6. [次へ] をクリックします。
  7. 省略可: 次の入力パラメータの値を指定します。
    • 分割区切り文字: ログ行を区切るために使用される区切り文字(\n など)。
    • アセットの名前空間: アセットの名前空間
    • 取り込みラベル: このフィードのイベントに適用されるラベル。
  8. [次へ] をクリックします。
  9. [Finalize] 画面でフィードの設定を確認し、[送信] をクリックします。
  10. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  11. シークレット キーをコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。
  12. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL は、クライアント アプリケーションで指定する必要があります。
  13. [完了] をクリックします。

Webhook フィードの API キーを作成する

  1. Google Cloud コンソール > [認証情報] に移動します。

    [認証情報] に移動

  2. [認証情報を作成] をクリックして [API キー] を選択します。

  3. API キーのアクセスを Google Security Operations API に制限します。

エンドポイント URL を指定する

  1. クライアント アプリケーションで、Webhook フィードで指定された HTTPS エンドポイント URL を指定します。
  2. 次の形式でカスタム ヘッダーの一部として 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 Security Operations の認証に使用する API キー。
  • SECRET: フィードの認証用に生成したシークレット キー。

Google SecOps 用に Auth0 Webhook を構成する

  1. Auth0 ダッシュボードにアクセスします。
  2. [モニタリング] > [ストリーム] に移動します。
  3. [Create Log Stream] をクリックします。
  4. [カスタム Webhook] ボタンをクリックし、任意の名前を付けます。(例: Google SecOps Webhook)。
  5. 以下を構成します。
    • Payload URL: Google SecOps API エンドポイントの URL を入力します。
    • Content-Type: Content-Type ヘッダーを application/json に設定します。これにより、送信されるデータの形式が Google SecOps に通知されます。
    • 省略可: 認可トークン: セキュリティを強化するためにシークレットを構成します。これは、Webhook リクエストの真正性を確認するために使用されます。

ペイロードをカスタマイズする: イベント カテゴリを変更することで、Google SecOps に送信されるペイロードをカスタマイズできます。これにより、Auth0 イベントから特定のデータポイントを選択し、Google SecOps に応じてフォーマットできます。使用可能なコンテキスト変数とスクリプト オプションの詳細については、Auth0 のドキュメントをご覧ください。最終的なペイロードが、想定される Google SecOps UDM 形式に準拠していることを確認します。

  1. [保存] をクリックして、Webhook を作成します。
  2. フックに関連付けられたイベントをトリガーします(新しいユーザーの登録、ログインなど)。
  3. Google SecOps コンソールでフィードを確認して、ログが Google SecOps に送信されていることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
client_id principal.asset.product_object_id client_id フィールドから直接マッピングされます。
client_name principal.hostname client_name フィールドから直接マッピングされます。
connection security_result.description connection フィールドから直接マッピングされます。
connection_id security_result.rule_id connection_id フィールドから直接マッピングされます。
date metadata.event_timestamp ISO8601 形式を使用して date フィールドから解析されます。
description metadata.description description フィールドから直接マッピングされます。
details.error security_result.detection_fields details.error フィールドからマッピングされます。キーは「Error」です。
details.error.oauthError security_result.detection_fields details.error.oauthError フィールドからマッピングされます。キーは「oauthError」です。
details.error.type security_result.detection_fields details.error.type フィールドからマッピングされます。キーは「oauth_error_type」です。
details.ipOnAllowlist security_result.detection_fields details.ipOnAllowlist フィールドからマッピングされます。キーは「ipOnAllowlist」です。
details.link target.url details.link フィールドが存在する場合は、そのフィールドから直接マッピングされます。存在しない場合は、他のフィールドから派生します(下記を参照)。
details.request.auth.strategy security_result.detection_fields details.request.auth.strategy フィールドからマッピングされます。キーは「strategy」です。
details.request.body.app_metadata.blockedReason security_result.detection_fields details.request.body.app_metadata.blockedReason フィールドからマッピングされます。キーは「blockedReason」です。
details.request.body.app_metadata.customer_id target.user.product_object_id details.request.body.app_metadata.customer_id フィールドから直接マッピングされます。
details.request.body.app_metadata.migrated security_result.detection_fields details.request.body.app_metadata.migrated フィールドからマッピングされます。キーが「移行済み」である。
details.request.channel security_result.detection_fields details.request.channel フィールドからマッピングされます。キーは「channel」です。
details.request.method network.http.method 大文字に変換した後、details.request.method フィールドから直接マッピングされます。
details.request.path target.url details.link が存在しない場合、details.request.path フィールドから直接マッピングされます。存在する場合は、他のフィールドから派生します(下記を参照)。
details.response.body.email target.user.email_addresses details.response.body.email フィールドから直接マッピングされます。
details.response.body.email_verified security_result.detection_fields details.response.body.email_verified フィールドからマッピングされます。キーは「email_verified」です。
details.response.body.nickname target.user.user_display_name details.response.body.nickname フィールドから直接マッピングされます。
details.response.body.user_id target.user.userid details.response.body.user_id フィールドから直接マッピングされます。
details.response.statusCode network.http.response_code 整数に変換した後、details.response.statusCode フィールドから直接マッピングされます。
details.return_to target.url details.linkdetails.request.path が存在しない場合、details.return_to フィールドから直接マッピングされます。それ以外の場合は、他のフィールドから派生します(下記を参照)。
details.session_id network.session_id details.session_id フィールドから直接マッピングされます。
details.stats.loginsCount additional.fields details.stats.loginsCount フィールドからマッピングされます。キーは「loginsCount」です。
details.requiresVerification security_result.detection_fields details.requiresVerification フィールドからマッピングされます。キーは「requiresVerification」です。
details.to target.user.email_addresses details.to フィールドから直接マッピングされます。
hostname target.hostname hostname フィールドから直接マッピングされます。
ip principal.ip ip フィールドから直接マッピングされます。
js_data.audience target.url details.linkdetails.request.pathdetails.return_to が存在しない場合、js_data.audience フィールドから直接マッピングされます。
js_data.details.body.email_verified security_result.detection_fields js_data.details.body.email_verified フィールドからマッピングされます。キーは「email_verified」です。
js_data.details.body.is_signup security_result.detection_fields js_data.details.body.is_signup フィールドからマッピングされます。キーは「is_signup」です。
js_data.details.body.transaction.redirect_uri target.url details.linkdetails.request.pathdetails.return_tojs_data.audience が存在しない場合、js_data.details.body.transaction.redirect_uri フィールドから直接マッピングされます。
js_data.scope security_result.detection_fields js_data.scope フィールドからマッピングされます。キーは「scope」です。
js_data.tracking_id security_result.detection_fields js_data.tracking_id フィールドからマッピングされます。キーは「tracking_id」です。
log_id metadata.product_log_id log_id フィールドから直接マッピングされます。
metadata.log_type metadata.log_type log_type フィールドから直接マッピングされます。
metadata.product_name metadata.product_name 「AUTH_ZERO」に設定します。
metadata.vendor_name metadata.vendor_name 「AUTH_ZERO」に設定します。
metadata.product_event_type metadata.product_event_type type フィールドから直接マッピングされます。
network.http.parsed_user_agent network.http.parsed_user_agent user_agent フィールドから解析されます。
network.http.user_agent network.http.user_agent user_agent フィールドから直接マッピングされます。
security_result.action security_result.action type フィールド(ALLOW または BLOCK)によって決定されます。具体的なマッピングについては、パーサーコードをご覧ください。
strategy security_result.detection_fields strategy フィールドからマッピングされます。キーは「strategy」です。
strategy_type security_result.detection_fields strategy_type フィールドからマッピングされます。キーは「strategy_type」です。
target.user.email_addresses target.user.email_addresses メールアドレスの場合は user_name フィールドから直接マッピングされます。それ以外の場合は、他のフィールドから派生します(上記を参照)。
target.user.userid target.user.userid user_id フィールドから直接マッピングされます。user_id が存在しない場合は、details.response.body.user_id または user_name からマッピングされます。
user_agent network.http.user_agent user_agent フィールドから直接マッピングされます。
user_id target.user.userid user_id フィールドから直接マッピングされます。
user_name target.user.email_addresses user_name フィールドから直接マッピングされます。security_result.action が「ALLOW」で、type が「slo」、「sapi」、「s」、「ss」、「ssa」の場合は、「MACHINE」に設定します。extensions.auth.type が「MACHINE」で、type が「slo」の場合は「OTP」に設定します。typeclient_nameiphostnamehas_user などのフィールドの組み合わせによって決定されます。具体的なマッピングについては、パーサーコードをご覧ください。

変更点

2024-03-07

  • バグの修正:
  • 「data.user_name」を「target.user.email_addresses」にマッピングしました。
  • 「data.details.body.email_verified」、「data.details.body.is_signup」を「security_result.detection_fields」にマッピングしました。
  • 「data.details.body.transaction.redirect_uri」を「target.url」にマッピングしました。

2023-06-19

  • 新しく作成されたパーサー。