カスタム アプリケーション アクセスログを収集する

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

このドキュメントでは、クラウド ストレージまたはストリーミングの取り込み方法を使用して、カスタム アプリケーション アクセスログを Google Security Operations に取り込む方法について説明します。

カスタム アプリケーション アクセスログは、独自のアプリケーションまたはカスタムビルド アプリケーションからの認証イベント、認可の決定、アクセス パターンをキャプチャします。これらのログは、ユーザー アクティビティのモニタリング、不正なアクセス試行の検出、セキュリティ ポリシーの遵守に不可欠です。

始める前に

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

  • Google SecOps インスタンス
  • JSON、CSV、構造化テキスト形式のカスタム アプリケーション アクセスログ
  • 次のいずれかへのアクセス権があること。
    • Google Cloud Storage バケット(GCS 取り込み用)
    • Amazon S3 バケット(S3 取り込み用)
    • Microsoft Azure Storage アカウント(Azure Blob の取り込み用)
    • Webhook エンドポイント機能(プッシュベースの取り込み用)
    • Amazon Kinesis Data Firehose(ストリーミング取り込み用)

カスタム ログタイプを作成する

ログタイプ CUSTOM_APPLICATION_ACCESS は、Google SecOps に事前構築済みのパーサーとして存在しません。ログを取り込む前に、カスタムログタイプを作成する必要があります。

  1. [SIEM 設定] > [使用可能なログタイプ] に移動します。
  2. [ログタイプをリクエスト] をクリックします。
  3. [独自にカスタム ログタイプを作成する] で、次の詳細を入力します。
    • ベンダー/プロダクト: 「Custom Application Access Logs」と入力します。
    • ログタイプ: 「CUSTOM_APPLICATION_ACCESS」と入力します。
  4. [ログタイプを作成] をクリックします。

  5. フィードを作成する前に、新しいログタイプがすべてのコンポーネントで使用可能になるまで 10 分間待ちます。

取り込み方法を選択する

インフラストラクチャに最適な取り込み方法を選択します。

  • Google Cloud Storage(GCS): アプリケーションが GCS バケットにログを書き込む場合、または GCS にログをエクスポートできる場合に使用します。
  • Amazon S3: アプリケーションが S3 バケットにログを書き込む場合、またはログを S3 にエクスポートできる場合に使用します。
  • Azure Blob Storage: アプリケーションが Azure Storage にログを書き込む場合、またはログを Azure にエクスポートできる場合に使用します。
  • Webhook: アプリケーションが外部エンドポイントに HTTP POST リクエストを送信できる場合に使用します。
  • Amazon Kinesis Data Firehose: アプリケーションが CloudWatch Logs に書き込む場合、またはリアルタイム ストリーミングが必要な場合に使用します。

オプション 1: Google Cloud Storage から取り込む

Google Cloud Storage バケットを作成する

  1. Google Cloud Console に移動します。
  2. プロジェクトを選択するか、新しいプロジェクトを作成します。
  3. ナビゲーション メニューで、[Cloud Storage > バケット] に移動します。
  4. [バケットを作成] をクリックします。
  5. 次の構成情報を提供してください。

    設定
    バケットに名前を付ける グローバルに一意の名前を入力します(例: custom-app-access-logs)。
    ロケーション タイプ ニーズに基づいて選択します(リージョン、デュアルリージョン、マルチリージョン)。
    ロケーション ロケーションを選択します(例: us-central1)。
    ストレージ クラス Standard(アクセス頻度の高いログにおすすめ)
    アクセス制御 均一(推奨)
    保護ツール 省略可: オブジェクトのバージョニングまたは保持ポリシーを有効にする
  6. [作成] をクリックします。

ログを GCS に書き込むようにアプリケーションを構成する

作成した GCS バケットにアクセスログを書き込むようにカスタム アプリケーションを構成します。ログは次のいずれかの形式で書き込む必要があります。

  • JSON 形式(推奨):

    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45", "application": "custom-app", "resource": "/api/users"}
    
  • CSV 形式:

    timestamp,user,action,result,source_ip,application,resource
    2025-01-15T10:30:00Z,john.doe@example.com,login,success,203.0.113.45,custom-app,/api/users
    
  • 改行区切りの JSON(NDJSON):

    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"}
    {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}
    

Google SecOps サービス アカウントを取得する

Google SecOps は、一意のサービス アカウントを使用して GCS バケットからデータを読み取ります。このサービス アカウントにバケットへのアクセス権を付与する必要があります。

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Custom Application Access Logs - GCS)。
  5. [ソースタイプ] として [Google Cloud Storage V2] を選択します。
  6. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  7. [サービス アカウントを取得する] をクリックします。
  8. 一意のサービス アカウント メールアドレスが表示されます(例:)。

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. このメールアドレスをコピーして、次のステップで使用します。

Google SecOps サービス アカウントに IAM 権限を付与する

Google SecOps サービス アカウントには、GCS バケットに対する Storage オブジェクト閲覧者ロールが必要です。

  1. [Cloud Storage] > [バケット] に移動します。
  2. バケット名をクリックします。
  3. [権限] タブに移動します。
  4. [アクセス権を付与] をクリックします。
  5. 次の構成の詳細を入力します。
    • プリンシパルを追加: Google SecOps サービス アカウントのメールアドレスを貼り付けます。
    • ロールを割り当てる: [Storage オブジェクト閲覧者] を選択します。
  6. [保存] をクリックします。

Google SecOps でフィードを構成する

  1. フィード作成ページに戻ります(または、[SIEM 設定] > [フィード] > [新しいフィードを追加] に移動します)。
  2. [次へ] をクリックします。
  3. 次の入力パラメータの値を指定します。

    • ストレージ バケットの URL: 接頭辞パスを含む GCS バケット URI を入力します。

      gs://custom-app-access-logs/
      
    • Source deletion option: 必要に応じて削除オプションを選択します。

      • なし: 転送後にファイルを削除しません(テストにおすすめ)。
      • 転送されたファイルを削除する: 転送が完了した後にファイルを削除します。
      • 転送されたファイルと空のディレクトリを削除する: 転送が完了した後にファイルと空のディレクトリを削除します。
    • ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます(デフォルトは 180 日)。

    • アセットの名前空間: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル(custom_app_access など)。

  4. [次へ] をクリックします。

  5. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

オプション 2: Amazon S3 から取り込む

Amazon S3 バケットを作成する

  1. Amazon S3 コンソールを開きます。
  2. [バケットを作成] をクリックします。
  3. 次の構成の詳細を入力します。
    • バケット名: バケットのわかりやすい名前を入力します(例: custom-app-access-logs)。
    • リージョン: アプリケーションが実行されるリージョン(us-east-1 など)を選択します。
  4. [作成] をクリックします。

S3 アクセス権を持つ IAM ユーザーを作成する

  1. IAM コンソールを開きます
  2. [ユーザー] > [ユーザーを追加] をクリックします。
  3. ユーザー名を入力します(例: chronicle-s3-reader)。
  4. [プログラムによるアクセス] を選択します。
  5. [Next: Permissions] をクリックします。
  6. [既存のポリシーを直接アタッチする] を選択します。
  7. AmazonS3FullAccess ポリシーを検索して選択します。
  8. [Next: Tags] をクリックします。
  9. [次へ: 確認] をクリックします。
  10. [Create user] をクリックします。
  11. [.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
  12. [閉じる] をクリックします。

S3 にログを書き込むようにアプリケーションを構成する

作成した S3 バケットにアクセスログを書き込むようにカスタム アプリケーションを構成します。GCS セクションで説明したのと同じログ形式(JSON、CSV、NDJSON)を使用します。

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Custom Application Access Logs - S3)。
  5. [ソースタイプ] として [Amazon S3 V2] を選択します。
  6. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  7. [次へ] をクリックしてから、[送信] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • S3 URI: バケット URI を次の形式で入力します。

      s3://custom-app-access-logs/
      
    • Source deletion option: 必要に応じて削除オプションを選択します。

    • ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます(デフォルトは 180 日)。

    • アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。

    • シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。

    • アセットの名前空間: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル(custom_app_access など)。

  9. [次へ] をクリックしてから、[送信] をクリックします。

オプション 3: Azure Blob Storage から取り込む

Azure Storage アカウントを作成する

  1. Azure ポータルで、[ストレージ アカウント] を検索します。
  2. [+ 作成] をクリックします。
  3. 次の構成情報を提供してください。

    設定
    サブスクリプション Azure サブスクリプションを選択する
    リソース グループ 既存のものを選択するか、新しいものを作成する
    ストレージ アカウント名 一意の名前を入力します(例: customappaccesslogs)。
    リージョン リージョンを選択します(例: East US)。
    パフォーマンス 標準(推奨)
    冗長性 LRS(ローカル冗長ストレージ)
  4. [Review + create] をクリックします。

  5. アカウントの概要を確認して、[作成] をクリックします。

  6. デプロイが完了するまで待ちます。

ストレージ アカウントの認証情報を取得する

  1. 作成した ストレージ アカウントに移動します。
  2. 左側のナビゲーションで、[セキュリティとネットワーキング] の [アクセスキー] を選択します。
  3. [キーを表示] をクリックします。
  4. 後で使用できるように、次の値をコピーして保存します。
    • ストレージ アカウント名: customappaccesslogs
    • キー 1 またはキー 2: 共有アクセスキー

BLOB コンテナを作成する

  1. 同じストレージ アカウントで、左側のナビゲーションから [コンテナ] を選択します。
  2. [+ コンテナ] をクリックします。
  3. 次の構成の詳細を入力します。
    • 名前: 「access-logs」と入力します。
    • 一般公開アクセスレベル: [非公開(匿名アクセスなし)] を選択します。
  4. [作成] をクリックします。

Azure Blob Storage にログを書き込むようにアプリケーションを構成する

作成した Azure Blob Storage コンテナにアクセスログを書き込むようにカスタム アプリケーションを構成します。GCS セクションで説明したのと同じログ形式(JSON、CSV、NDJSON)を使用します。

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Custom Application Access Logs - Azure)。
  5. [ソースタイプ] で [Microsoft Azure Blob Storage V2] を選択します。
  6. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Azure URI: コンテナパスを含む Blob Service エンドポイント URL を入力します。

      https://customappaccesslogs.blob.core.windows.net/access-logs/
      
    • Source deletion option: 必要に応じて削除オプションを選択します。

    • ファイルの最大経過日数: 過去の日数内に変更されたファイルを含めます(デフォルトは 180 日)。

    • 共有キー: ストレージ アカウントから取得した共有キーの値(アクセスキー)を入力します。

    • アセットの名前空間: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル(custom_app_access など)

  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

オプション 4: Webhook を使用して取り込む

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Custom Application Access Logs - Webhook)。
  5. [Source type] として [Webhook] を選択します。
  6. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。
    • 分割区切り文字: 改行区切りイベントを分割するには、\n を入力します(リクエストごとに複数のイベントを送信する場合)。
    • アセットの名前空間: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル(custom_app_access など)。
  9. [次へ] をクリックします。
  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

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

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

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

  1. フィードの [詳細] タブに移動します。
  2. [エンドポイント情報] セクションで、[フィード エンドポイント URL] をコピーします。
  3. URL の形式は次のとおりです。

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 次の手順で使用するため、この URL を保存します。

  5. [完了] をクリックします。

Google Cloud API キーを作成する

Google SecOps では、認証に API キーが必要です。Google Cloud コンソールで制限付き API キーを作成します。

  1. Google Cloud コンソールの [認証情報] ページに移動します。
  2. プロジェクト(Chronicle インスタンスに関連付けられているプロジェクト)を選択します。
  3. [認証情報を作成> API キー] をクリックします。
  4. API キーが作成され、ダイアログに表示されます。
  5. [API キーを編集] をクリックして、キーを制限します。
  6. [API キー] 設定ページで、次の操作を行います。
    • 名前: わかりやすい名前を入力します(例: Chronicle Webhook API Key)。
  7. [API の制限] で次の操作を行います。
    1. [キーを制限] を選択します。
    2. [API を選択] プルダウンで、[Google SecOps API](または [Chronicle API])を検索して選択します。
  8. [保存] をクリックします。
  9. ページ上部の [API キー] フィールドから API キーの値をコピーします。
  10. API キーを安全に保存します。

Webhook 経由でログを送信するようにアプリケーションを構成する

Chronicle Webhook エンドポイントに HTTP POST リクエストを送信するようにカスタム アプリケーションを構成します。

  • Webhook URL を作成します。

    1. フィード エンドポイントの URL に API キーを追加します。

      https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>
      
    2. <API_KEY> は、作成した API キーに置き換えます。

  • HTTP POST リクエストの形式:

    POST https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}
    
  • 複数のイベントの場合(改行区切り):

    POST https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"}
    {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}
    
  • curl の使用例:

    curl -X POST \
      "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -H "x-chronicle-auth: YOUR_SECRET_KEY" \
      -d '{"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}'
    

オプション 5: Amazon Kinesis Data Firehose を使用して取り込む

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Custom Application Access Logs - Firehose)。
  5. [ソースタイプ] として [Amazon Data Firehose] を選択します。
  6. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。
    • Split delimiter: 改行で区切られたログを分割するには、\n と入力します。
    • アセットの名前空間: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル(custom_app_access など)。
  9. [次へ] をクリックします。
  10. フィードの設定を確認し、[送信] をクリックします。
  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  12. このシークレットは再び表示できないため、秘密鍵をコピーして保存します。
  13. [詳細] タブに移動します。
  14. [エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。
  15. [完了] をクリックします。

Amazon Data Firehose フィード用の API キーを作成する

  1. https://console.cloud.google.com/apis/credentials で Google Cloud コンソールの [認証情報] ページに移動します。
  2. [認証情報を作成] をクリックして [API キー] を選択します。
  3. [API キーを編集] をクリックして、キーを制限します。
  4. [API の制限] で [キーを制限] を選択します。
  5. [Google SecOps API] を検索して選択します。
  6. [保存] をクリックします。
  7. API キーをコピーして保存します。

エンドポイント URL を作成する

  1. 次の形式で、フィード エンドポイント URL に API キーを追加します。

    <FEED_ENDPOINT_URL>?key=<API_KEY>
    
  2. 次のように置き換えます。

    • <FEED_ENDPOINT_URL>: 前の手順で取得したフィード エンドポイント URL
    • <API_KEY>: 前の手順の API キー

    例:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
    
  3. 次の手順で使用するため、この完全な URL を保存します。

Firehose の IAM ポリシーを作成する

  1. AWS コンソールで、[IAM] > [ポリシー] > [ポリシーの作成] > [JSON] タブに移動します。
  2. 次のポリシー JSON を貼り付けます。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch"
                ],
                "Resource": "arn:aws:firehose:us-east-1:123456789012:deliverystream/CustomAppAccessToChronicle"
            }
        ]
    }
    
  3. 次のように置き換えます。

    • us-east-1: AWS リージョン
    • 123456789012: AWS アカウント ID(12 桁の数字)
    • CustomAppAccessToChronicle: Firehose 配信ストリームの名前(次のステップで作成します)
  4. ポリシーに CustomAppAccessFirehoseWritePolicy という名前を付けます。

  5. [ポリシーを作成] をクリックします。

CloudWatch Logs の IAM ロールを作成する

  1. [IAM]> [ロール]> [ロールを作成] に移動します。
  2. [カスタム信頼ポリシー] を選択して、次の内容を貼り付けます。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logs.us-east-1.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  3. us-east-1 は、実際の AWS リージョンに置き換えます。

  4. [次へ] をクリックします。

  5. 前の手順で作成したポリシー CustomAppAccessFirehoseWritePolicy を検索して選択します。

  6. [次へ] をクリックします。

  7. ロールに CloudWatchLogsToFirehoseRole という名前を付けます。

  8. [ロールを作成] をクリックします。

Kinesis Data Firehose 配信ストリームを作成する

  1. AWS コンソールで、[Kinesis] > [Data Firehose] > [Create delivery stream] に移動します。
  2. 次の構成情報を提供してください。

    • 移行元と移行先:

      • ソース: [Direct PUT or other sources] を選択します。
      • 宛先: [HTTP エンドポイント] を選択します。
    • 配信ストリーム名:

      • 配信ストリーム名: 「CustomAppAccessToChronicle」と入力します。
    • HTTP エンドポイントの宛先:

      • HTTP エンドポイント URL: 先ほど作成した完全なエンドポイント URL(フィード エンドポイント + API キー)を入力します。
      • コンテンツ エンコード: [GZIP] を選択します(帯域幅の節約に推奨)。
    • カスタム HTTP ヘッダー:

      • [カスタム HTTP ヘッダーを追加] をクリックします。
      • ヘッダー名: 「X-Goog-Chronicle-Auth」と入力します。
      • ヘッダー値: 前の手順で保存した秘密鍵を入力します。
    • バックアップの設定:

      • Amazon S3 のソースレコード バックアップ: [失敗したデータのみ] を選択します(推奨)。
      • S3 バケット: 既存のバケットを選択するか、失敗したレコード用に新しいバケットを作成します。
    • バッファのヒント:

      • バッファサイズ: 1 MiB(HTTP エンドポイントの最小値)を入力します。
      • バッファ間隔: 60 秒を入力します
    • 再試行期間:

      • 再試行期間: 300 秒(5 分)と入力します。
  3. [配信ストリームを作成] をクリックします。

  4. 配信ストリームのステータスが [アクティブ] に変わるまで待ちます(1 ~ 2 分)。

CloudWatch Logs に書き込むようにアプリケーションを構成する

アクセスログを CloudWatch ロググループに書き込むようにカスタム アプリケーションを構成します。次に、サブスクリプション フィルタを作成して、ログを Firehose にストリーミングします。

  1. AWS コンソールで、[CloudWatch] > [ログ] > [ロググループ] に移動します。
  2. 新しいロググループを作成するか、アプリケーションがログを書き込む既存のロググループを選択します。
  3. [サブスクリプション フィルタ] タブをクリックします。
  4. [作成> Amazon Kinesis Data Firehose サブスクリプション フィルタを作成] をクリックします。
  5. 次の構成情報を提供してください。

    • 宛先: 配信ストリーム CustomAppAccessToChronicle を選択します。
    • 権限を付与: ロール CloudWatchLogsToFirehoseRole を選択します。
    • サブスクリプション フィルタ名: 「CustomAppAccessToChronicle」と入力します。
    • ログ形式: [その他] を選択します(Google SecOps が解析を処理します)。
    • サブスクリプション フィルタ パターン: すべてのイベントを送信する場合は、空白のままにします。
  6. [ストリーミングを開始] をクリックします。

  7. ログは Firehose を介して Google SecOps にリアルタイムでストリーミングされます。

カスタム パーサーを作成する

ログを取り込んだら、データを UDM 形式に正規化するカスタム パーサーを作成する必要があります。

  1. [SIEM 設定] > [パーサー] に移動します。
  2. [パーサーを作成する] をクリックします。
  3. [ログタイプ] として [CUSTOM_APPLICATION_ACCESS_CUSTOM] を選択します。
  4. パーサー エディタを使用して、ログフィールドを UDM フィールドにマッピングする Grok パターンまたはパーサー拡張機能を作成します。

    パーサー マッピングの例:

    カスタムログフィールド UDM フィールド
    timestamp metadata.event_timestamp
    user principal.user.email_addresses
    action security_result.action
    result security_result.summary
    source_ip principal.ip
    application target.application
    resource target.resource.name
  5. サンプルログを使用してパーサーをテストします。

  6. [保存] をクリックして、パーサーを有効にします。

パーサーの作成手順の詳細については、セルフサービス パーサー オプションをご覧ください。

取り込みを確認する

フィードとパーサーを構成したら、ログが取り込まれていることを確認します。

  1. [検索] > [UDM 検索] に移動します。
  2. 次のクエリを実行します。

    metadata.log_type = "CUSTOM_APPLICATION_ACCESS_CUSTOM"
    
  3. イベントが検索結果に表示されることを確認します。

  4. パーサーの構成に基づいて UDM フィールドが正しく入力されていることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
追加の サービス、env、msg.attachment.fileName、msg.attachment.digest、msg.attachment.key、msg.attachment.authorizeId、msg.attachment.contentType、dest.type、type、msg.sortID、msg.refID、state.reported.applications_installed、state.reported.applications_status、state.reported.ota_queue、state.reported.VICMB_Deg_Battery_LimpHome、state.reported.VICMB_Inhibit_Propulsion、state.reported.VICMB_FA_LostComm_BPCM、state.reported.VICMB_FA_LostComm_SFAM1、state.reported.VICMB_Inhibit_HV、state.reported.VICMB_FA_LostComm_RIDM、state.reported.VICMB_FA_LostComm_RWAM1、state.reported.uname、meta.reported.battery_charging_rate_kw.timestamp、state.reported.battery_charging_rate_kw、meta.reported.cell.connected.timestamp、meta.reported.cell.packet_loss.timestamp、meta.reported.cell.average_ping_ms.timestamp、meta.reported.cell.bitrate.timestamp、meta.reported.cell.download_speed_bytes_per_sec.timestamp、meta.reported.cell.signal_strength.timestamp、meta.reported.cell.signal.timestamp、state.reported.cell.connected、state.reported.cell.packet_loss、state.reported.cell.average_ping_ms、state.reported.cell.bitrate、state.reported.cell.download_speed_bytes_per_sec、state.reported.cell.signal_strength、state.reported.cell.signal から作成されたラベルと統合されました
request_time metadata.collected_timestamp ISO8601 形式を使用して request_time から解析されます
msg_1, msg.body metadata.description msg_1 の値(空でない場合)、それ以外の場合は msg.body
user_id、src_email、otadata.1687965118.initiator metadata.event_type user_id、src_email、otadata.1687965118.initiator のいずれかが存在する場合は「USER_UNCATEGORIZED」、それ以外の場合は「GENERIC_EVENT」に設定します。
otadata.1687965118.deployment_id metadata.product_deployment_id 値を直接コピーしました
version metadata.product_version 値を直接コピーしました
response.status network.http.response_code 整数に変換しました
request_id principal.resource.product_object_id 値を直接コピーしました
msg.attachment.url、otadata.1687965118.download_url principal.url msg.attachment.url が空でない場合はその値、空の場合は otadata.1687965118.download_url
src_email、otadata.1687965118.initiator principal.user.email_addresses メールの正規表現に一致する場合は src_email の値、それ以外の場合は otadata.1687965118.initiator の値
user_id principal.user.userid 値を直接コピーしました
レベル security_result.severity レベルが「INFO」の場合は「INFORMATIONAL」に設定します。
metadata.product_name [カスタム アプリケーション アクセス] に設定します。
metadata.vendor_name [カスタム アプリケーション アクセス] に設定します。

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