Security Command Center のオブザベーション ログを収集する

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

このドキュメントでは、Cloud Storage を使用して Security Command Center のオブザベーション ログを Google Security Operations にエクスポートして取り込む方法について説明します。パーサーは、未加工の JSON データを統合データモデル(UDM)に変換します。データ構造を正規化して入力のばらつきを処理し、関連するフィールドを抽出して UDM スキーマにマッピングします。これにより、追加のコンテキストとダウンストリーム分析用のフラグでデータが拡充されます。

始める前に

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

  • 環境で Security Command Center が有効になっていて、構成されている。 Google Cloud
  • Google SecOps インスタンス。
  • Security Command Center と Cloud Logging への特権アクセス。

Cloud Storage バケットを作成する

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

    [バケット] に移動

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

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

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

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

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

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

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

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

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

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

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

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

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

Security Command Center のロギングを構成する

  1. コンソールにGoogle Cloud ログインします。
  2. [Security Command Center] ページに移動します。

    Security Command Center に移動

  3. 組織を選択する。

  4. [設定] をクリックします。

  5. [継続的エクスポート] タブをクリックします。

  6. [エクスポート名] で [Logging エクスポート] をクリックします。

  7. [シンク] で、[検出結果を Logging にロギング] をオンにします。

  8. [ロギング プロジェクト] で、検出結果を記録するプロジェクトを入力または検索します。

  9. [保存] をクリックします。

Security Command Center のオブザベーション ログのエクスポートを構成する

  1. コンソールにGoogle Cloud ログインします。
  2. [Logging] > [ログルーター] に移動します。
  3. [シンクを作成] をクリックします。
  4. 次の構成パラメータを指定します。

    • シンク名: わかりやすい名前を入力します(例: scc-observation-logs-sink)。
    • [シンクの宛先]: [Cloud Storage Storage] を選択し、バケットの URI(gs://gcp-scc-observation-logs/ など)を入力します。
    • ログフィルタ:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fobservations"
      resource.type="security_command_center_observation"
      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ffindings"
       resource.type="security_center_findings"
      
    • エクスポート オプションを設定: すべてのログエントリを含めます。

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

Cloud Storage の権限を構成する

  1. [IAM と管理] > [IAM] に移動します。
  2. Cloud Logging サービス アカウントを見つけます。
  3. バケットに対するroles/storage.admin を付与します。

フィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [Configure a single feed] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Security Command Center Observation logs )。
  5. [Source type] として [Google Cloud Storage V2] を選択します。
  6. [Log type] として [Security Command Center Observation] を選択します。
  7. [Chronicle Service Account] フィールドの横にある [Get Service Account] をクリックします。
  8. [次へ] をクリックします。
  9. 次の入力パラメータの値を指定します。

    • Storage Bucket URI: Cloud Storage バケットの URL(gs://gcp-scc-observation-logs/ など)。この URL は、末尾にスラッシュ(/)が付いている必要があります。
    • Source deletion options: 必要に応じて削除オプションを選択します。

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

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

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

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
access.callerIp read_only_udm.principal.ip 直接マッピング。
access.callerIpGeo.regionCode read_only_udm.principal.location.country_or_region 直接マッピング。
access.methodName read_only_udm.additional.fields.value.string_value 直接マッピング。read_only_udm.target.labels.value にもマッピングされます。
access.principalEmail read_only_udm.principal.user.email_addresses 直接マッピング。
access.principalSubject read_only_udm.principal.user.attribute.labels.value 直接マッピング。
assetDisplayName read_only_udm.target.resource.attribute.labels.value 直接マッピング。
assetId read_only_udm.target.asset.asset_id assets/ の後の値が assetId フィールドから抽出され、AssetID:<extracted_value> としてマッピングされます。
category read_only_udm.metadata.product_event_type 直接マッピング。
contacts.security.contacts.email read_only_udm.security_result.about.user.email_addresses 直接マッピング。about オブジェクトは、連絡先の数に応じて複数回繰り返されることがあります。このフィールドの roles.name フィールドは Security に設定されます。
contacts.technical.contacts.email read_only_udm.security_result.about.user.email_addresses 直接マッピング。about オブジェクトは、連絡先の数に応じて複数回繰り返されることがあります。このフィールドの roles.name フィールドは Technical に設定されます。
createTime read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは createTime に設定されます。
eventTime read_only_udm.metadata.event_timestamp タイムスタンプ形式に変換されました。
externalUri read_only_udm.about.url 直接マッピング。
findingClass read_only_udm.security_result.category_details 直接マッピング。
findingProviderId read_only_udm.target.resource.attribute.labels.value 直接マッピング。
mitreAttack.primaryTactic read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは primary_tactic に設定されます。
mitreAttack.primaryTechniques read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、手法の数に応じて複数回繰り返されることがあります。このフィールドの key フィールドは primary_technique に設定されます。
mute read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは mute に設定されます。
name read_only_udm.metadata.product_log_id 直接マッピング。
parentDisplayName read_only_udm.metadata.description 直接マッピング。
resource.display_name read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resource.name read_only_udm.target.resource.name, read_only_udm.principal.resource.name 直接マッピング。このフィールドを使用して principal.resource.name フィールドに入力する場合、パーサーは resource.project_name が空かどうかを確認します。空でない場合は、代わりに resource.project_name を使用します。
resource.parent_display_name read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resource.parent_name read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resource.project_display_name read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resource.project_name read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resource.type read_only_udm.target.resource.attribute.labels.value 直接マッピング。
resourceName read_only_udm.target.resource.name 直接マッピング。
securityMarks.name read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは securityMarks_name に設定されます。
severity read_only_udm.security_result.severity, read_only_udm.security_result.priority_details 直接マッピング。
sourceDisplayName read_only_udm.target.resource.attribute.labels.value 直接マッピング。
sourceProperties.contextUris.mitreUri.displayName read_only_udm.security_result.detection_fields.key 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。
sourceProperties.contextUris.mitreUri.url read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。
sourceProperties.detectionCategory.ruleName read_only_udm.security_result.rule_name 直接マッピング。
sourceProperties.detectionCategory.subRuleName read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは sourceProperties_detectionCategory_subRuleName に設定されます。
sourceProperties.detectionPriority read_only_udm.security_result.priority_details 直接マッピング。
sourceProperties.findingId read_only_udm.target.resource.attribute.labels.value 直接マッピング。
state read_only_udm.security_result.detection_fields.value 直接マッピング。detection_fields オブジェクトは、使用可能なフィールドに基づいて複数回繰り返されることがあります。このフィールドの key フィールドは state に設定されます。
なし read_only_udm.metadata.log_type GCP_SECURITYCENTER_OBSERVATION にハードコードされます。
なし read_only_udm.metadata.product_name Security Command Center にハードコードされます。
なし read_only_udm.metadata.vendor_name Google にハードコードされます。
なし read_only_udm.principal.user.account_type プリンシパルのメールアドレスが存在する場合は、CLOUD_ACCOUNT_TYPE に設定されます。
なし read_only_udm.security_result.alert_state ALERTING にハードコードされます。
なし read_only_udm.security_result.priority 重要度が LOW の場合は、LOW_PRIORITY に設定されます。
なし read_only_udm.target.application resourceName フィールドから抽出されます。
なし read_only_udm.target.resource.product_object_id 親フィールドから抽出されます。
なし read_only_udm.target.resource.resource_type デフォルトでは CLUSTER に設定されます。カテゴリが Impact: GPU Instance Created または Impact: Many Instances Created の場合は、VIRTUAL_MACHINE に設定されます。カテゴリが Persistence: Add Sensitive Role の場合は、SETTING に設定されます。
なし read_only_udm.target.resource_ancestors.name 親フィールドと resourceName フィールドから抽出されます。
なし read_only_udm.target.resource_ancestors.product_object_id 親フィールド、resource.project_name フィールド、resourceName フィールドから抽出されます。
なし read_only_udm.target.resource_ancestors.resource_type resource.type が google.compute.Project の場合は、CLOUD_PROJECT に設定されます。
なし read_only_udm.target.labels.key access.methodName が存在する場合は、値が access_methodName に設定されます。
なし read_only_udm.target.labels.value 値は access.methodName から設定されます。
なし read_only_udm.target.resource.attribute.labels.key キーは、使用可能なフィールド(resource_parentDisplayName、resource_type、resource_parentName、resource_projectDisplayName、resource_displayName、finding_id、source_id、FindingProviderId、sourceDisplayName、asset_display_name)に基づいて、次のいずれかの値に設定されます。
なし read_only_udm.target.resource.attribute.labels.value 値は、使用可能なフィールド(parentDisplayName、resource.type、resource.parent_name、resource.project_display_name、resource.display_name、sourceProperties.findingId、sourceProperties.sourceId、findingProviderId、sourceDisplayName、assetDisplayName)に基づいて、次のいずれかのフィールドから設定されます。

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