Cloud IoT ログを収集する
このガイドでは、Cloud Storage を使用して Cloud IoT ログを Google Security Operations にエクスポートする方法について説明します。パーサーは JSON 形式のログからフィールドを抽出し、それらのフィールドを Google SecOps UDM スキーマ内の対応するフィールドにマッピングします。最終的には、未加工のログデータをセキュリティ分析に適した構造化形式に変換します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- 環境で Cloud IoT が設定され、アクティブになっていることを確認します。 Google Cloud
- Google Cloudへの特権アクセス権があることを確認します。
Google Cloud Storage バケットを作成する
- Google Cloud コンソールにログインします。
[Cloud Storage バケット] のページに移動します。
[作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。
[始める] セクションで、次の操作を行います。
- バケット名の要件を満たす一意の名前を入力します(例: cloudiot-logs)。
階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。
バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。
[ラベルを追加] をクリックし、ラベルのキーと値を指定します。
[データの保存場所の選択] セクションで、次の操作を行います。
- ロケーション タイプを選択してください。
ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。
クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。
[データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。
[オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。
[オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。
- [データ保護] で、バケットに設定するオプションを選択します。
- オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データの暗号化方法を選択します。
[作成] をクリックします。
Cloud IoT でログのエクスポートを構成する
- 特権アカウントを使用して Google Cloud アカウントにログインします。
- 検索バーで [ロギング] を検索して選択します。
- ログ エクスプローラで [Cloud IoT Core] を選択してログをフィルタし、[適用] をクリックします。
- [その他の操作] をクリックします。
- [シンクを作成] をクリックします。
- 次の構成を指定します。
- シンクの詳細: 名前と説明を入力します。
- [次へ] をクリックします。
- シンクのエクスポート先: [Cloud Storage バケット] を選択します。
- Cloud Storage バケット: 先ほど作成したバケットを選択するか、新しいバケットを作成します。
- [次へ] をクリックします。
- シンクに含めるログを選択する: Cloud Storage バケットでオプションを選択すると、デフォルトのログが入力されます。
- [次へ] をクリックします。
- 省略可: [シンクに含めないログの選択] で、シンクに含めないログを選択します。
[シンクを作成] をクリックします。
GCP Console で、[ロギング] > [Log Router] に移動します。
[シンクを作成] をクリックします。
Cloud IoT のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: GCP Cloud IoT Logs)。
- [Source type] として [Google Cloud Storage] を選択します。
- [ログタイプ] として [GCP Cloud IoT] を選択します。
- [Chronicle サービス アカウント] として [サービス アカウントを取得する] をクリックします。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- Storage Bucket URI: Google Cloud
gs://my-bucket/<value>
形式のストレージ バケット URL。 - URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
Source deletion options: 必要に応じて削除オプションを選択します。
Asset namespace: アセットの名前空間。
Ingestion labels: このフィードからのイベントに適用されるラベル。
- Storage Bucket URI: Google Cloud
[次へ] をクリックします。
[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.timestamp と metadata.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 フィールドからマッピングされます。- severity が DEFAULT 、DEBUG 、INFO 、または NOTICE の場合、security_result.severity は INFORMATIONAL に設定されます。- severity が WARNING または ERROR の場合、security_result.severity は MEDIUM に設定されます。- severity が CRITICAL 、ALERT 、または EMERGENCY の場合、security_result.severity は HIGH に設定されます。 |
なし | 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 のプロフェッショナルから回答を得ることができます。