Cloud IoT ログを収集する

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

このガイドでは、Cloud Storage を使用して Cloud IoT ログを Google Security Operations にエクスポートする方法について説明します。パーサーは JSON 形式のログからフィールドを抽出し、それらのフィールドを Google SecOps UDM スキーマ内の対応するフィールドにマッピングします。最終的には、未加工のログデータをセキュリティ分析に適した構造化形式に変換します。

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • 環境で Cloud IoT が設定され、アクティブになっていることを確認します。 Google Cloud
  • Google Cloudへの特権アクセス権があることを確認します。

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

  1. Google Cloud コンソールにログインします。
  2. [Cloud Storage バケット] のページに移動します。

    [バケット] に移動

  3. [作成] をクリックします。

  4. [バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。

    1. [始める] セクションで、次の操作を行います。

      1. バケット名の要件を満たす一意の名前を入力します(例: cloudiot-logs)。
      2. 階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。

      3. バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。

      4. [ラベルを追加] をクリックし、ラベルのキーと値を指定します。

    2. [データの保存場所の選択] セクションで、次の操作を行います。

      1. ロケーション タイプを選択してください。
      2. ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。

      3. クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。

    3. [データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。

    4. [オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。

    5. [オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。

      1. [データ保護] で、バケットに設定するオプションを選択します。
      2. オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データの暗号化方法を選択します。
  5. [作成] をクリックします。

Cloud IoT でログのエクスポートを構成する

  1. 特権アカウントを使用して Google Cloud アカウントにログインします。
  2. 検索バーで [ロギング] を検索して選択します。
  3. ログ エクスプローラで [Cloud IoT Core] を選択してログをフィルタし、[適用] をクリックします。
  4. [その他の操作] をクリックします。
  5. [シンクを作成] をクリックします。
  6. 次の構成を指定します。
    1. シンクの詳細: 名前と説明を入力します。
    2. [次へ] をクリックします。
    3. シンクのエクスポート先: [Cloud Storage バケット] を選択します。
    4. Cloud Storage バケット: 先ほど作成したバケットを選択するか、新しいバケットを作成します。
    5. [次へ] をクリックします。
    6. シンクに含めるログを選択する: Cloud Storage バケットでオプションを選択すると、デフォルトのログが入力されます。
    7. [次へ] をクリックします。
    8. 省略可: [シンクに含めないログの選択] で、シンクに含めないログを選択します。
  7. [シンクを作成] をクリックします。

  8. GCP Console で、[ロギング] > [Log Router] に移動します。

  9. [シンクを作成] をクリックします。

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: GCP Cloud IoT Logs)。
  4. [Source type] として [Google Cloud Storage] を選択します。
  5. [ログタイプ] として [GCP Cloud IoT] を選択します。
  6. [Chronicle サービス アカウント] として [サービス アカウントを取得する] をクリックします。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Storage Bucket URI: Google Cloud gs://my-bucket/<value> 形式のストレージ バケット URL。
    • URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
    • Source deletion options: 必要に応じて削除オプションを選択します。

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

    • Ingestion labels: このフィードからのイベントに適用されるラベル。

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

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

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
insertId metadata.product_log_id insertId フィールドから直接マッピングされます。
jsonPayload.eventType metadata.product_event_type jsonPayload.eventType フィールドから直接マッピングされます。
jsonPayload.protocol network.application_protocol jsonPayload.protocol フィールドから直接マッピングされます。
jsonPayload.serviceName target.application jsonPayload.serviceName フィールドから直接マッピングされます。
jsonPayload.status.description metadata.description jsonPayload.status.description フィールドから直接マッピングされます。
jsonPayload.status.message security_result.description jsonPayload.status.message フィールドから直接マッピングされます。
labels.device_id principal.asset_id 値は、labels.device_id フィールドの値と連結された Device ID: に設定されます。
receiveTimestamp metadata.event_timestamp receiveTimestamp フィールドから解析され、events.timestampmetadata.event_timestamp の両方の入力に使用されます。
resource.labels.device_num_id target.resource.product_object_id resource.labels.device_num_id フィールドから直接マッピングされます。
resource.labels.location target.location.name resource.labels.location フィールドから直接マッピングされます。
resource.labels.project_id target.resource.name resource.labels.project_id フィールドから直接マッピングされます。
resource.type target.resource.resource_subtype resource.type フィールドから直接マッピングされます。
重要度 security_result.severity 次のロジックに基づいて severity フィールドからマッピングされます。
- severityDEFAULTDEBUGINFO、または NOTICE の場合、security_result.severityINFORMATIONAL に設定されます。
- severityWARNING または ERROR の場合、security_result.severityMEDIUM に設定されます。
- severityCRITICALALERT、または EMERGENCY の場合、security_result.severityHIGH に設定されます。
なし metadata.log_type GCP_CLOUDIOT にハードコードされています。
なし metadata.vendor_name Google Cloud Platform にハードコードされています。
なし metadata.event_type GENERIC_EVENT にハードコードされています。
なし metadata.product_name GCP_CLOUDIOT にハードコードされています。

変更点

2022-06-06

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

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