Microsoft Azure Key Vault ロギングログを収集する

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

このドキュメントでは、Google Security Operations フィードを設定して Azure Key Vault のロギングログを収集する方法について説明します。

詳細については、Google SecOps へのデータの取り込みをご覧ください。

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル AZURE_KEYVAULT_AUDI が付加されたパーサーに適用されます。

始める前に

次の前提条件を満たしていることを確認します。

  • ログインできる Azure サブスクリプション
  • Azure の Azure Key Vault 環境(テナント)
  • グローバル管理者または Azure Key Vault 管理者のロール
  • ログを保存する Azure ストレージ アカウント

ストレージ アカウントを構成する

  1. Azure ポータルにログインします。
  2. Azure コンソールで、[ストレージ アカウント] を検索します。
  3. ログの取得元となるストレージ アカウントを選択し、[アクセスキー] を選択します。新しいストレージ アカウントを作成する手順は次のとおりです。

    1. [作成] をクリックします。
    2. 新しいストレージ アカウントの名前を入力します。
    3. アカウントのサブスクリプション、リソース グループ、リージョン、パフォーマンス、冗長性を選択します。パフォーマンスを standard、冗長性を GRS または LRS に設定することをおすすめします。

    4. [Review + create] をクリックします。

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

  4. [キーを表示] をクリックし、ストレージ アカウントの共有キーをメモします。

  5. [エンドポイント] を選択し、Blob サービスのエンドポイントをメモしておきます。

    ストレージ アカウントの作成の詳細については、Microsoft ドキュメントAzure ストレージ アカウントを作成するをご覧ください。

Azure Key Vault のロギングを構成する

  1. Azure ポータルで、[Key vaults] に移動し、ロギング用に構成するキー コンテナーを選択します。
  2. [モニタリング] セクションで、[診断設定] を選択します。
  3. [診断設定を追加] を選択します。[診断設定] ウィンドウには、診断ログの設定が表示されます。
  4. [診断設定名] フィールドに、診断設定の名前を指定します。
  5. [カテゴリ グループ] セクションで、[監査] チェックボックスをオンにします。
  6. [保持期間(日数)] フィールドに、組織のポリシーに準拠したログ保持値を指定します。Google SecOps では、ログの保持期間を少なくとも 1 日にすることを推奨しています。

    Azure Key Vault のロギングログは、ストレージ アカウントに保存することも、Event Hubs にストリーミングすることもできます。Google SecOps は、ストレージ アカウントを使用したログ収集をサポートしています。

ストレージ アカウントにアーカイブする

  1. ログをストレージ アカウントに保存するには、[診断設定] ウィンドウで、[ストレージ アカウントにアーカイブする] チェックボックスをオンにします。
  2. [サブスクリプション] リストで、既存のサブスクリプションを選択します。
  3. [ストレージ アカウント] リストで、既存のストレージ アカウントを選択します。

フィードを設定する

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

  • [SIEM 設定] > [フィード] > [新しいフィードを追加]
  • Content Hub > Content Packs > Get Started

Azure Key Vault ロギング フィードの設定方法

  1. [Azure Platform] パックをクリックします。
  2. [Azure Key Vault ロギング] ログタイプを見つけて、[新しいフィードを追加] をクリックします。
  3. 次のフィールドに値を指定します。

    • Source Type: Microsoft Azure Blob Storage V2
    • Azure URI: 先ほど取得した Blob Service エンドポイントと、そのストレージ アカウントのコンテナ名のいずれかを指定します。例: https://xyz.blob.core.windows.net/abc/
    • ソース削除オプション: ソース削除オプションを指定します。
    • ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
    • キー: 前の手順で取得した共有キーを指定します。

    詳細オプション

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

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

Google SecOps フィードの詳細については、Google SecOps フィードのドキュメントをご覧ください。

各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。

サポートされている Microsoft Azure Key Vault ロギングのサンプルログ

  • Azure Key Vault 監査

    {
      "time": "2024-02-01T10:34:54.5732801Z",
      "category": "AuditEvent",
      "operationName": "Authentication",
      "resultType": "Success",
      "correlationId": "00000000-0000-0000-0000-000000000000",
      "callerIpAddress": "127.0.0.1",
      "identity": {},
      "properties": {
        "clientInfo": "azsdk-net-Security.KeyVault.Secrets/4.5.0 (.NET Framework 4.8.4645.0; Microsoft Windows 10.0.20348 )",
        "httpStatusCode": 401,
        "requestUri": "https://example-vault.vault.azure.net/secrets/?api-version=7.4",
        "tlsVersion": "TLS1_3"
      },
      "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/EXAMPLE-RG/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/EXAMPLE-VAULT",
      "operationVersion": "7.4",
      "resultSignature": "Unauthorized",
      "durationMs": "17"
    }
    
  • Azure Diagnostics

    {
      "TenantId": "00000000-0000-0000-0000-000000000000",
      "TimeGenerated": "2025-01-07T20:00:00.0483028Z",
      "ResourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/EXAMPLE-RG/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/EXAMPLE-VAULT",
      "Category": "AuditEvent",
      "ResourceGroup": "EXAMPLE-RG",
      "SubscriptionId": "00000000-0000-0000-0000-000000000000",
      "ResourceProvider": "MICROSOFT.KEYVAULT",
      "Resource": "EXAMPLE-VAULT",
      "ResourceType": "VAULTS",
      "OperationName": "SecretGet",
      "ResultType": "Success",
      "CorrelationId": "00000000-0000-0000-0000-000000000000",
      "ResultDescription": "",
      "requestUri_s": "https://example-vault.vault.azure.net/secrets/example-secret/?api-version=7.3",
      "DurationMs": 16,
      "CallerIPAddress": "127.0.0.1",
      "OperationVersion": "7.3",
      "ResultSignature": "OK",
      "id_s": "https://example-vault.vault.azure.net/secrets/example-secret/00000000000000000000000000000000",
      "clientInfo_s": "azsdk-net-Security.KeyVault.Secrets/4.3.0 (.NET 6.0.35; Microsoft Windows 10.0.14393)",
      "httpStatusCode_d": 200,
      "identity_claim_appid_g": "00000000-0000-0000-0000-000000000000",
      "isAccessPolicyMatch_b": true,
      "identity_claim_oid_g": "00000000-0000-0000-0000-000000000000",
      "identity_claim_appidacr_s": "2",
      "identity_claim_xms_az_nwperimid_s": "[]",
      "identity_claim_idtyp_s": "app",
      "tlsVersion_s": "TLS1_2",
      "Type": "AzureDiagnostics",
      "_ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/example-rg/providers/microsoft.keyvault/vaults/example-vault"
    }
    
  • Azure Resource Graph

    {
      "value": [
        {
          "TenantId": "00000000-0000-0000-0000-000000000000",
          "TimeGenerated": "2024-11-02T09:12:25.0852453Z",
          "ResourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/EXAMPLE-RG/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/EXAMPLE-VAULT",
          "Category": "AuditEvent",
          "ResourceGroup": "EXAMPLE-RG",
          "SubscriptionId": "00000000-0000-0000-0000-000000000000",
          "ResourceProvider": "MICROSOFT.KEYVAULT",
          "Resource": "EXAMPLE-VAULT",
          "ResourceType": "VAULTS",
          "OperationName": "VaultGet",
          "ResultType": "Success",
          "CorrelationId": "00000000-0000-0000-0000-000000000000",
          "ResultDescription": "",
          "requestUri_s": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-rg/providers/Microsoft.KeyVault/vaults/example-vault?api-version=2023-07-01&MaskCMKEnabledProperties=true",
          "DurationMs": 30,
          "CallerIPAddress": "127.0.0.1",
          "OperationVersion": "2023-07-01",
          "ResultSignature": "OK",
          "id_s": "https://example-vault.vault.azure.net/",
          "clientInfo_s": "AzureResourceGraph.IngestionWorkerService.global/1.24.1.672",
          "httpStatusCode_d": 200,
          "identity_claim_appid_g": "00000000-0000-0000-0000-000000000000",
          "identity_claim_http_schemas_microsoft_com_identity_claims_objectidentifier_g": "00000000-0000-0000-0000-000000000000",
          "properties_sku_Family_s": "A",
          "properties_sku_Name_s": "standard",
          "properties_tenantId_g": "00000000-0000-0000-0000-000000000000",
          "properties_enabledForDeployment_b": false,
          "properties_enabledForTemplateDeployment_b": false,
          "properties_enabledForDiskEncryption_b": false,
          "properties_enableSoftDelete_b": true,
          "properties_enableRbacAuthorization_b": false,
          "properties_enablePurgeProtection_b": true,
          "Type": "AzureDiagnostics",
          "_ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/example-rg/providers/microsoft.keyvault/vaults/example-vault"
        }
      ]
    }
    

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