Google Cloud データを Google Security Operations に取り込む

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

このページでは、Google Cloud データの Google Security Operations への取り込みを有効または無効にする方法について説明します。Google Security Operations を使用すると、データ保持期間に応じて、自社の集約されたセキュリティ情報を数か月以上にわたって保存、検索、調査できます。

概要

Google Cloud のデータを Google Security Operations に送信するには、2 つの方法があります。 適切なオプションを選択するには、ログタイプを確認してください。

オプション 1: 直接取り込み

特殊な Cloud Logging フィルタを Google Cloud で構成して、特定のログタイプをリアルタイムで Google Security Operations に送信できます。これらのログは、Google Cloud サービスによって生成されます。

使用可能なログタイプには、次のものがあります。

  • Cloud Audit Logs
  • Cloud NAT
  • Cloud DNS
  • Cloud Next Generation Firewall
  • Cloud Intrusion Detection System
  • Cloud Load Balancing
  • Cloud SQL
  • Windows イベントログ
  • Linux syslog
  • Linux Sysmon
  • Zeek
  • Google Kubernetes Engine
  • Audit Daemon(auditd
  • Apigee
  • reCAPTCHA Enterprise
  • Cloud Run ログ(GCP_RUN

Compute Engine または Google Kubernetes Engine(GKE)アプリケーション ログ(Apache、Nginx、IIS など)を収集するには、オプション 2 を使用します。 さらに、Google Security Operations でサポート チケットを生成して、直接取り込み(オプション 1)のサポートを今後検討するためのフィードバックを提供します。

特定のログフィルタと取り込みの詳細については、Google Cloud ログを Google Security Operations にエクスポートするをご覧ください。

コンテキストの拡充に使用される Google Cloud アセットのメタデータを送信することもできます。詳細については、Google Cloud アセットのメタデータを Google Security Operations にエクスポートするをご覧ください。

オプション 2: Google Cloud Storage

Cloud Logging では、スケジュールに従って Google Security Operations が取得するように Cloud Storage にログを転送できます。

Google Security Operations 用に Cloud Storage を構成する方法の詳細については、フィード管理: Cloud Storage をご覧ください。

始める前に

Google Cloud データを Google Security Operations インスタンスに取り込む前に、次の手順を完了する必要があります。

  1. Google Security Operations セクションにアクセスするために必要な IAM ロールを付与します。

    • Chronicle サービス管理者roles/chroniclesm.admin): すべてのアクティビティを実行するための IAM ロール。
    • Chronicle サービス閲覧者roles/chroniclesm.viewer): 取り込みの状態のみを閲覧する IAM ロール。
    • セキュリティ センター管理編集者roles/securitycenter.adminEditor): Cloud アセット メタデータの取り込みを有効にするために必要です。
  2. Cloud アセット メタデータ を有効にする場合は、Security Command Center のスタンダード ティア、Security Command Center のプレミアム ティア、または Security Command Center の Enterprise ティアのいずれかも有効にする必要があります。詳細については、組織レベルでの有効化の概要をご覧ください。

IAM ロールの付与

必要な IAM ロールを付与するには、Google Cloud Console または gcloud CLI を使用します。

Google Cloud Console を使用して IAM ロールを付与するには、次の操作を行います。

  1. 接続する Google Cloud 組織にログインし、[プロダクト] > [IAM と管理] > [IAM] を使用して IAM 画面に移動します。

  2. IAM 画面でユーザーを選択し、[メンバーを編集] をクリックします。

  3. [権限の編集] 画面で、[別のロールを追加] をクリックして「Google Security Operations」を検索し、IAM ロールを見つけます。

  4. ロールを割り当てたら、[保存] をクリックします。

Google Cloud CLI を使用して IAM のロールを付与するには、次の手順を行います。

  1. 正しい組織にログインしていることを確認します。これを確認するには、gcloud init コマンドを実行します。

  2. gcloud を使用して Chronicle Service 管理者 IAM ロールを付与するには、次のコマンドを実行します。

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.admin
    

    以下を置き換えます。

    • ORGANIZATION_ID: 数値の組織 ID
    • USER_EMAIL: ユーザーのメールアドレス。
  3. gcloud を使用して Chronicle Service 閲覧者 IAM ロールを付与するには、次のコマンドを実行します。

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.viewer
    
  4. gcloud を使用してセキュリティ センター管理編集者のロールを付与するには、次のコマンドを実行します。

     gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
     --member "user:USER_EMAIL" \
     --role roles/securitycenter.adminEditor`
    

Google Cloud からの直接取り込みを有効にする

Google Cloud からの直接取り込みを有効にする手順は、Google Security Operations インスタンスがバインドされているプロジェクトの所有権によって異なります。

直接取り込みを構成すると、Google Cloud データが Google Security Operations に送信されます。Google Security Operations の分析機能を使用して、セキュリティ関連の問題を調査できます。

プロジェクトがお客様所有の場合に取り込みを構成する

Google Cloud プロジェクトを所有している場合は、次の操作を行います。

複数の組織からの直接取り込みは、同じプロジェクト レベルの構成ページを使用して構成できます。新しい構成を作成して既存の構成を編集する手順は次のとおりです。

既存の Google Security Operations インスタンスを移行して、所有するプロジェクトにバインドする場合、移行前に直接取り込みが構成されている場合、直接取り込みの構成も移行されます。

  1. Google Cloud コンソールで、[Google SecOps] > [取り込み設定] ページに移動します。
    [Google SecOps] ページに移動
  2. Google Security Operations インスタンスにバインドされているプロジェクトを選択します。
  3. [組織] メニューで、ログをエクスポートする組織を選択します。メニューには、アクセス権のある組織が表示されます。このリストには、Google SecOps インスタンスにリンクされていない組織が含まれる場合があります。別の Google SecOps インスタンスにデータを送信する組織を構成することはできません。

    組織の選択

  4. [Google Cloud 取り込みの設定] セクションで、[Google Security Operations へのデータの送信] 切り替えボタンをクリックして、Google Security Operations へのログの送信を有効にします。

  5. 次のオプションの 1 つ以上を選択して、Google Security Operations に送信するデータのタイプを定義します。

  6. [Customer export filter settings] セクションで、Google Security Operations にエクスポートされる Cloud Logging データをカスタマイズするエクスポート フィルタを定義します。エクスポートするログデータの種類については、Google Cloud ログをエクスポートするをご覧ください。

  7. 別の組織のログを同じ Google Security Operations インスタンスに取り込むには、[組織] メニューから組織を選択し、手順を繰り返して、エクスポートするデータの種類とエクスポート フィルタを定義します。[組織] メニューに複数の組織が表示されます。

  8. Google Cloud Cloud Data Loss Prevention データを Google Security Operations にエクスポートするには、Google Cloud Cloud Data Loss Prevention データを Google Security Operations にエクスポートするをご覧ください。

プロジェクトが Google Cloud によって所有されている場合の取り込みを構成する

Google Cloud がプロジェクトを所有している場合は、次の手順で Google Cloud 組織から Google Security Operations インスタンスへの直接取り込みを構成します。

  1. Google Cloud コンソールで、[Google SecOps] > [概要] > [取り込み] タブに移動します。[Google SecOps の取り込み] タブに移動
  2. [組織の取り込み設定を管理する] ボタンをクリックします。
  3. [ページはプロジェクトで表示できません。] というメッセージが表示された場合は、組織を選択して [選択] をクリックします。
  4. [1 回限りの Google Security Operations アクセスコード] フィールドに 1 回限りのアクセスコードを入力します。
  5. [I consent to the terms and conditions of Google Security Operations's usage of my Google Cloud data] チェックボックスをオンにします。
  6. [Google SecOps を接続] をクリックします。
  7. 組織の [グローバル取り込み設定] タブに移動します。
  8. 次のいずれかのオプションを有効にして、送信するデータの種類を選択します。

  9. [フィルタのエクスポート設定] タブに移動します。

  10. [Customer export filter settings] セクションで、Google Security Operations にエクスポートされる Cloud Logging データをカスタマイズするエクスポート フィルタを定義します。エクスポートするログデータの種類については、Google Cloud ログをエクスポートするをご覧ください。

  11. Google Cloud Cloud Data Loss Prevention データを Google Security Operations にエクスポートするには、Google Cloud Cloud Data Loss Prevention データを Google Security Operations にエクスポートするをご覧ください。

Google Cloud ログをエクスポートする

Cloud Logging を有効にすると、次の種類の Google Cloud データを Google Security Operations インスタンスにエクスポートできます。ログの種類と Google Security Operations 取り込みラベルで示します。

  • Cloud Audit LogsGCP_CLOUDAUDIT): 管理アクティビティ、システム イベント、アクセスの透明性、ポリシー拒否のログが含まれます。
    • log_id("cloudaudit.googleapis.com/activity")(デフォルトのフィルタによってエクスポートされます)
    • log_id("cloudaudit.googleapis.com/system_event")(デフォルトのフィルタによってエクスポートされます)
    • log_id("cloudaudit.googleapis.com/policy")
    • log_id("cloudaudit.googleapis.com/access_transparency")
  • Cloud NAT のログGCP_CLOUD_NAT):
    • log_id("compute.googleapis.com/nat_flows")
  • Cloud DNS のログGCP_DNS):
    • log_id("dns.googleapis.com/dns_queries")(デフォルトのフィルタによってエクスポートされます)
  • Cloud Next Generation Firewall ログGCP_FIREWALL):
    • log_id("compute.googleapis.com/firewall")
  • GCP_IDS:
    • log_id("ids.googleapis.com/threat")
    • log_id("ids.googleapis.com/traffic")
  • GCP_LOADBALANCING:
    • log_id("requests")これには、Google Cloud Armor と Cloud Load Balancing のログが含まれます
  • GCP_CLOUDSQL:
    • log_id("cloudsql.googleapis.com/mysql-general.log")
    • log_id("cloudsql.googleapis.com/mysql.err")
    • log_id("cloudsql.googleapis.com/postgres.log")
    • log_id("cloudsql.googleapis.com/sqlagent.out")
    • log_id("cloudsql.googleapis.com/sqlserver.err")
  • NIX_SYSTEM:
    • log_id("syslog")
    • log_id("authlog")
    • log_id("securelog")
  • LINUX_SYSMON:
    • log_id("sysmon.raw")
  • WINEVTLOG:
    • log_id("winevt.raw")
    • log_id("windows_event_log")
  • BRO_JSON:
    • log_id("zeek_json_streaming_conn")
    • log_id("zeek_json_streaming_dhcp")
    • log_id("zeek_json_streaming_dns")
    • log_id("zeek_json_streaming_http")
    • log_id("zeek_json_streaming_ssh")
    • log_id("zeek_json_streaming_ssl")
  • KUBERNETES_NODE:
    • log_id("events")
    • log_id("stdout")
    • log_id("stderr")
  • AUDITD:
    • log_id("audit_log")
  • GCP_APIGEE_X:
    • logName =~ "^projects/[\w\-]+/logs/apigee\.googleapis\.com[\w\-]*$"
  • GCP_RECAPTCHA_ENTERPRISE:
    • log_id("recaptchaenterprise.googleapis.com/assessment")
    • log_id("recaptchaenterprise.googleapis.com/annotation")
  • GCP_RUN:
    • log_id("run.googleapis.com/stderr")
    • log_id("run.googleapis.com/stdout")
    • log_id("run.googleapis.com/requests")
    • log_id("run.googleapis.com/varlog/system")
  • GCP_NGFW_ENTERPRISE:
    • log_id("networksecurity.googleapis.com/firewall_threat")

Google Cloud ログを Google Security Operations にエクスポートするには、[Enable Cloud logs] を [Enabled] に設定します。サポートされている Google Cloud ログタイプは、Google Security Operations インスタンスにエクスポートできます。

使用するログフィルタに関するベスト プラクティスについては、Google Cloud のセキュリティ ログ分析をご覧ください。

エクスポート フィルタの設定

以降のセクションでは、エクスポート フィルタについて説明します。

カスタム エクスポート フィルタの設定

デフォルトでは、Cloud Audit Logs(管理アクティビティとシステム イベント)と Cloud DNS ログが Google Security Operations アカウントに送信されます。ただし、エクスポート フィルタをカスタマイズして、特定の種類のログを含めることや除外することが可能です。エクスポート フィルタは、Google ロギングクエリ言語に基づいています。

ログのカスタム フィルタを定義する手順は次のとおりです。

  1. ロギングクエリ言語を使用してログのカスタム フィルタを作成して、フィルタを定義します。このタイプのフィルタを定義する方法については、Logging のクエリ言語をご覧ください。

  2. Google Cloud コンソールで Google SecOps ページに移動し、プロジェクトを選択します。
    [Google Security Operations] ページに移動

  3. [フィルタ設定をエクスポート] タブに用意されたリンクを使用して、ログ エクスプローラを起動します。

  4. 新しいクエリを [クエリ] フィールドにコピーし、[クエリを実行] をクリックしてテストします。

  5. 新しいクエリを ログ エクスプローラ > [クエリ] フィールドにコピーし、[クエリを実行] をクリックしてテストします。

  6. ログ エクスプローラに一致するログが Google Security Operations にエクスポートする予定であるログと同一であることを確認します。フィルタの準備ができたら、Google Security Operations の [カスタム エクスポート フィルタ設定] セクションにコピーします。

  7. [Google SecOps] ページの [カスタム エクスポート フィルタの設定] セクションに戻ります。

    [カスタム エクスポート フィルタの設定] セクション

  8. [フィルタをエクスポート] フィールドの編集アイコンをクリックし、フィルタをフィールドに貼り付けます。

  9. [保存] ボタンをクリックします。 新しいカスタム フィルタは、Google Security Operations インスタンスにエクスポートされたすべての新しいログに対して機能します。

  10. エクスポート フィルタをデフォルトのバージョンに戻すには、[デフォルトに戻す] をクリックします。必ず、カスタム フィルタのコピーを保存してください。

Cloud Audit Logs フィルタを調整する

Cloud Audit Logs によって書き込まれるデータアクセス ログは、脅威検出値があまり高くない大量のデータを生成できます。これらのログを Google Security Operations に送信する場合は、ルーティン アクティビティによって生成されたログを除外する必要があります。

次のエクスポート フィルタは、データアクセス ログをキャプチャし、Cloud Storage と Cloud SQL の読み取りや一覧表示オペレーションなど、ボリュームが多いイベントを除外します。

( log_id("cloudaudit.googleapis.com/data_access")
  AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
  AND NOT protoPayload.request.cmd = "select" )

Cloud Audit Logs によって生成されるデータアクセス ログのチューニングの詳細については、データアクセス監査ログの量を管理するをご覧ください。

エクスポート フィルタの例

次のエクスポート フィルタの例は、Google Security Operations インスタンスへのエクスポートから特定の種類のログに含めるか除外するかの方法を示しています。

エクスポート フィルタの例: 追加のログタイプを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、アクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")

エクスポート フィルタの例: 特定のプロジェクトからの追加ログを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、特定のプロジェクトのアクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

エクスポート フィルタの例: 特定のフォルダからの追加ログを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、特定のフォルダのアクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

エクスポート フィルタの例: 特定のプロジェクトからのログを除外する

次のエクスポート フィルタは、特定のプロジェクトを除き、Google Cloud 組織全体からのデフォルトのログをエクスポートします。

(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")

Google Cloud アセット メタデータをエクスポートする

Google Cloud アセットのメタデータを Cloud Asset Inventory から Google Security Operations にエクスポートできます。このアセットのメタデータは Cloud Asset Inventory から取得され、次のようなアセット、リソース、ID に関する情報で構成されています。

  • 環境
  • ロケーション
  • ゾーン
  • ハードウェア モデル
  • リソースと ID 間のアクセス制御の関係

Google Security Operations インスタンスにエクスポートされる Google Cloud アセットのメタデータの種類は次のとおりです。

  • GCP_BIGQUERY_CONTEXT
  • GCP_COMPUTE_CONTEXT
  • GCP_IAM_CONTEXT
  • GCP_IAM_ANALYSIS
  • GCP_STORAGE_CONTEXT
  • GCP_CLOUD_FUNCTIONS_CONTEXT
  • GCP_SQL_CONTEXT
  • GCP_NETWORK_CONNECTIVITY_CONTEXT
  • GCP_RESOURCE_MANAGER_CONTEXT

Google Cloud アセットのメタデータの例を次に示します。

  • アプリケーション名: Google-iamSample/0.1
  • プロジェクト名: projects/my-project

Google Cloud アセットのメタデータを Google Security Operations にエクスポートするには、[Cloud Asset Metadata] を [Enabled] に設定します。

Cloud アセットのメタデータを有効にします。

コンテキスト パーサーの詳細については、Google Security Operations のコンテキスト パーサーをご覧ください。

Security Command Center の検出結果をエクスポートする

Security Command Center Premium の Event Threat Detection の検出結果と他のすべての検出結果を Google Security Operations にエクスポートできます。

ETD の検出結果の詳細については、Event Threat Detection の概要をご覧ください。

Security Command Center Premium の検出結果を Google Security Operations にエクスポートするには、[Security Command Center Premium の検出結果] の切り替えを [有効] に設定します。

Google Security Operations に Sensitive Data Protection のデータをエクスポートする

機密データの保護のアセット メタデータ(DLP_CONTEXT)を取り込むには、次の手順を行います。

  1. このドキュメントの前のセクションを完了して、Google Cloud データの取り込みを有効にします。
  2. データをプロファイリングするように機密データの保護を構成します。
  3. スキャン構成を構成して、Google Security Operations にデータ プロファイルを公開します。

BigQuery データのデータ プロファイルの作成方法について詳しくは、機密データの保護のドキュメントをご覧ください。

Google Cloud データ取り込みを無効にする

Google Cloud からの直接取り込みを無効にする手順は、Google Security Operations の構成によって異なります。次のいずれかを選択します。

  • Google Security Operations インスタンスが、所有して管理しているプロジェクトにバインドされている場合は、次の操作を行います。

    1. Google Security Operations インスタンスにバインドされているプロジェクトを選択します。
    2. Google Cloud コンソールで、[Google SecOps] の [取り込み] タブに移動します。
      [Google SecOps] ページに移動
    3. [組織] メニューで、ログをエクスポートする組織を選択します。
    4. [Google Security Operations へのデータの送信] 切り替えボタンを [無効] に設定します。
    5. 複数の組織からのデータ エクスポートを構成し、それらも無効にする場合は、組織ごとに次の手順を行います。
  • Google Security Operations インスタンスが、Google Cloud が所有して管理するプロジェクトにバインドされている場合は、次の操作を行います。

    1. Google Cloud コンソールで、[Google SecOps] > [取り込み] ページに移動します。
      [Google SecOps] ページに移動
    2. リソース メニューで、Google Security Operations インスタンスにバインドされ、データを取り込む組織を選択します。
    3. [Google Security Operations との接続を解除し、Google Cloud ログの Google Security Operations への送信を停止する] チェックボックスをオンにします。
    4. [Google Security Operations を接続解除] をクリックします。

トラブルシューティング

  • Google Security Operations インスタンスにリソースと ID の関係がない場合は、Google Security Operations へのログデータの直接取り込みを無効にしてから再度有効にします。
  • Google Cloud アセットのメタデータは、Google Security Operations に定期的に取り込まれます。Google Security Operations の UI と API に変更が表示されるまでに数時間かかります。

次のステップ

  • Google Security Operations 担当者から提供されたお客様固有の URL を使用して、Google Security Operations インスタンスを開きます。
  • Google Security Operationsの詳細を確認する。