Azure Storage Audit Logs を収集する

パーサーのバージョン: 9.0

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

このドキュメントでは、Azure Storage アカウントを使用して Azure Storage Audit Logs を Google Security Operations にエクスポートする方法について説明します。パーサーは JSON 形式のログを処理し、Unified Data Model(UDM)に変換します。未加工のログからフィールドを抽出し、データ型の変換を行い、ユーザー エージェントの解析や IP アドレスの分解などの追加コンテキストでデータを拡充し、抽出したフィールドを対応する UDM フィールドにマッピングします。

始める前に

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

  • Google SecOps インスタンス
  • 有効な Azure テナント
  • Azure への特権アクセス

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

  1. Azure コンソールで、[ストレージ アカウント] を検索します。
  2. [作成] をクリックします。
  3. 次の入力パラメータの値を指定します。
    • Subscription: サブスクリプションを選択します。
    • リソース グループ: リソース グループを選択します。
    • リージョン: リージョンを選択します。
    • パフォーマンス: パフォーマンスを選択します(標準を推奨)。
    • 冗長性: 冗長性を選択します(GRS または LRS を推奨)。
    • Storage account name: 新しいストレージ アカウントの名前を入力します。
  4. [Review + create] をクリックします。
  5. アカウントの概要を確認し、[作成] をクリックします。
  6. [Storage Account Overview] ページで、[Security + networking] の [Access keys] サブメニューを選択します。
  7. [key1] または [key2] の横にある [Show] をクリックします。
  8. [Copy to clipboard] をクリックして、キーをコピーします。
  9. キーを安全な場所に保存して、後で使用できるようにします。
  10. [Storage Account Overview] ページで、[Settings] の [Endpoints] サブメニューを選択します。
  11. [Copy to clipboard] をクリックして、Blob service エンドポイント URL(例: https://<storageaccountname>.blob.core.windows.net)をコピーします。
  12. エンドポイント URL を安全な場所に保存して、後で使用できるようにします。

Azure Storage Audit Logs のログ エクスポートを構成する方法

  1. 特権アカウントを使用してAzure Portal にログインします。
  2. Storage Accounts > Diagnostic Settings に移動します。
  3. [+ Add diagnostic setting] をクリックします。
  4. blobqueuetablefile の診断設定を選択します。
    • 各診断設定の [Category groups] で [allLogs] オプションを選択します。
    • 各診断設定にわかりやすい名前を入力します。
  5. 宛先として [Archive to a storage account] チェックボックスをオンにします。
    • SubscriptionStorage Account を指定します。
  6. [保存] をクリックします。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • SIEM Settings > Feeds > Add New Feed
  • Content Hub > Content Packs > Get Started

Azure Storage Audit フィードを設定する方法

  1. [Azure Platform] パックをクリックします。
  2. [Azure Storage Audit] ログタイプを見つけて、[Add new feed] をクリックします。
  3. 次のフィールドの値を指定します。

    • Source Type: Microsoft Azure Blob Storage V2。
    • Azure URI: Blob エンドポイント URL。
      • ENDPOINT_URL/BLOB_NAME
        • 次のように置き換えます。
          • ENDPOINT_URL: Blob エンドポイント URL(https://<storageaccountname>.blob.core.windows.net
          • BLOB_NAME: Blob の名前(<logname>-logs など)
    • ソース削除オプション: 取り込みの設定に応じて削除オプションを選択します。

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

    • Shared key: Azure Blob Storage のアクセスキー。

    詳細オプション

    • Feed Name: フィードを識別する事前入力済みの値。
    • アセットの名前空間: フィードに関連付けられた名前空間
    • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
  4. [フィードを作成] をクリックします。

このプロダクト ファミリー内の異なるログタイプに複数のフィードを構成する方法については、プロダクトごとにフィードを構成するをご覧ください。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
callerIpAddress principal.asset.ip IP アドレスは、grok パターンを使用して callerIpAddress フィールドから抽出され、principal.asset.ip に割り当てられます。
callerIpAddress principal.ip IP アドレスは、grok パターンを使用して callerIpAddress フィールドから抽出され、principal.ip に割り当てられます。
callerIpAddress principal.port ポート番号は、grok パターンを使用して callerIpAddress フィールドから抽出され、principal.port に割り当てられます。
category security_result.category_details category フィールドの値が security_result.category_details に割り当てられます。
correlationId security_result.detection_fields[0].key リテラル文字列 correlationId がキーフィールドに割り当てられます。
correlationId security_result.detection_fields[0].value correlationId フィールドの値が security_result.detection_fields[0].value に割り当てられます。time フィールドの値はタイムスタンプとして解析され、event.idm.read_only_udm.metadata.event_timestamp に割り当てられます。categoryStorageWrite で、principal.user.userid が存在する場合(properties.accountName から派生)、値は USER_RESOURCE_UPDATE_CONTENT に設定されます。categoryStorageDelete で、principal.user.userid が存在する場合、値は USER_RESOURCE_DELETION に設定されます。それ以外の場合、値は USER_RESOURCE_ACCESS に設定されます。リテラル文字列 AZURE_STORAGE_AUDITevent.idm.read_only_udm.metadata.log_type に割り当てられます。リテラル文字列 AZURE_STORAGE_AUDITevent.idm.read_only_udm.metadata.product_name に割り当てられます。schemaVersion フィールドの値が event.idm.read_only_udm.metadata.product_version に割り当てられます。リテラル文字列 AZURE_STORAGE_AUDITevent.idm.read_only_udm.metadata.vendor_name に割り当てられます。
location target.location.name location フィールドの値が target.location.name に割り当てられます。
operationName additional.fields[x].key リテラル文字列 operationName がキーフィールドに割り当てられます。
operationName additional.fields[x].value.string_value operationName フィールドの値が additional.fields[x].value.string_value に割り当てられます。
operationVersion additional.fields[x].key リテラル文字列 operationVersion がキーフィールドに割り当てられます。
operationVersion additional.fields[x].value.string_value operationVersion フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.accountName principal.user.userid properties.accountName フィールドの値が principal.user.userid に割り当てられます。
properties.clientRequestId additional.fields[x].key リテラル文字列 clientRequestId がキーフィールドに割り当てられます。
properties.clientRequestId additional.fields[x].value.string_value properties.clientRequestId フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.etag additional.fields[x].key リテラル文字列 etag がキーフィールドに割り当てられます。
properties.etag additional.fields[x].value.string_value properties.etag フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.objectKey additional.fields[x].key リテラル文字列 objectKey がキーフィールドに割り当てられます。
properties.objectKey additional.fields[x].value.string_value properties.objectKey フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.requestMd5 additional.fields[x].key リテラル文字列 requestMd5 がキーフィールドに割り当てられます。
properties.requestMd5 additional.fields[x].value.string_value properties.requestMd5 フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.responseMd5 additional.fields[x].key リテラル文字列 responseMd5 がキーフィールドに割り当てられます。
properties.responseMd5 additional.fields[x].value.string_value properties.responseMd5 フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.serviceType additional.fields[x].key リテラル文字列 serviceType がキーフィールドに割り当てられます。
properties.serviceType additional.fields[x].value.string_value properties.serviceType フィールドの値が additional.fields[x].value.string_value に割り当てられます。
properties.tlsVersion network.tls.version properties.tlsVersion フィールドの値が network.tls.version に割り当てられます。
properties.userAgentHeader network.http.parsed_user_agent properties.userAgentHeader フィールドの値はユーザー エージェント文字列として解析され、network.http.parsed_user_agent に割り当てられます。
properties.userAgentHeader network.http.user_agent properties.userAgentHeader フィールドの値が network.http.user_agent に割り当てられます。
protocol network.application_protocol protocol フィールドの値が network.application_protocol に割り当てられます。
resourceId target.resource.id resourceId フィールドの値が target.resource.id に割り当てられます。
resourceId target.resource.product_object_id resourceId フィールドの値が target.resource.product_object_id に割り当てられます。リテラル文字列 DATABASEtarget.resource.resource_type に割り当てられます。
resourceType additional.fields[x].key リテラル文字列 resourceType がキーフィールドに割り当てられます。
resourceType additional.fields[x].value.string_value resourceType フィールドの値が additional.fields[x].value.string_value に割り当てられます。statusTextSuccess の場合、値は ALLOW に設定されます。
statusCode network.http.response_code statusCode フィールドの値は整数に変換され、network.http.response_code に割り当てられます。リテラル文字列 MICROSOFT_AZUREtarget.cloud.environment に割り当てられます。
time timestamp time フィールドの値はタイムスタンプとして解析され、timestamp に割り当てられます。
uri network.http.referral_url uri フィールドの値が network.http.referral_url に割り当てられます。

変更履歴

このパーサーの変更履歴を表示する

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