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

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

概要

Google Cloud のデータを Google Security Operations に送信するには、2 つの方法があります。正しいオプションの選択は、ログタイプによって異なります。

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

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

Google Security Operations は、ログが Google Cloud のプロジェクト レベルで除外されているが、ログ エクスポート フィルタと組織レベルの Google Cloud Logging の両方に含まれている場合にもログを受信します。Google Security Operations からログを除外するには、Google Cloud で Google Security Operations のログ エクスポート フィルタを更新する必要があります。

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

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

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

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

オプション 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 担当者に連絡して、Google Cloud データの取り込みに必要な 1 回限りのアクセスコードを取得します。

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

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

IAM ロールの付与

必要な IAM ロールを付与するには、Google Cloud コンソールまたは 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 サービス管理者の IAM ロールを付与するには、次のコマンドを実行します。

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

    次のように置き換えます。

    • ORGANIZATION_ID: 数値の組織 ID
    • USER_EMAIL: 管理ユーザーのメールアドレス。
  3. gcloud を使用して Google Security Operations サービス閲覧者の 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 データは、Security Command Center と Google Security Operations 間の非公開内部 API を使用して取り込まれます。取り込みは外部ネットワークに到達せず、IP アドレスも使用しません。Google は、Security Command Center 用 Google Security Operations が提供するワンタイム コードを使用して行われた認証に基づいて、Google Cloud ログに直接アクセスします。

Google Cloud 組織から Google Security Operations インスタンスへのデータの取り込みを有効にするには、次の手順を行います。

  1. Google Cloud コンソールの [Google Security Operations] ページに移動します。
    [Google Security Operations] ページに移動

  2. [1 回限りの Google Security Operations アクセスコード] フィールドに 1 回限りのアクセスコードを入力します。

  3. Google Security Operations の使用に同意するには、[Chronicle による Google Cloud データの使用規約に同意します] チェックボックスをオンにします。

  4. [Connect Google Security Operations] をクリックします。

これで Google Cloud データが Google Security Operations に送信されるようになりました。Google Security Operations の分析機能を使用して、セキュリティ関連の問題を調査できます。以下のセクションでは、Google Security Operations に送信される Google Cloud データの種類を調整する方法について説明します。

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

次の種類の Google Cloud データを Google Security Operations インスタンスにエクスポートできます。

  • GCP_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")
  • GCP_CLOUD_NAT:
    • log_id("compute.googleapis.com/nat_flows")
  • GCP_DNS:
    • log_id("dns.googleapis.com/dns_queries")(デフォルトのフィルタによってエクスポートされます)
  • GCP_FIREWALL:
    • log_id("compute.googleapis.com/firewall")
  • GCP_IDS:
    • log_id("ids.googleapis.com/threat")
    • log_id("ids.googleapis.com/traffic")
  • GCP の負荷分散
    • log_id("requests")
    • log_id("loadbalancing.googleapis.com/external_regional_requests")
    • log_id("networksecurity.googleapis.com/network_dos_attack_mitigations")
    • log_id("networksecurity.googleapis.com/dos_attack")
    • これには、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:
    • log_id("apigee-logs")
    • 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 にエクスポートするには、[Google Cloud logs] を有効に設定します。上記のすべての Google Cloud ログタイプが、Google Security Operations インスタンスにエクスポートされます。

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

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

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

ログのカスタム フィルタを定義するには、次の手順を行います。

  1. ロギングクエリ言語を使用してログのカスタム フィルタを作成して、フィルタを定義します。次のドキュメントでは、この種類のフィルタを定義する方法について説明しています。/logging/docs/view/logging-query-language

  2. [フィルタ設定をエクスポート] タブに用意されたリンクを使用してログ エクスプローラに移動し、新しいクエリを [クエリ] フィールドにコピーし、[クエリを実行] をクリックしてテストします。

    ログ エクスプローラに一致するログが Google Security Operations にエクスポートする予定であるログと同一であることを確認します。

[フィルタのエクスポート設定] タブで次の手順を実行します。

  1. フィルタの準備ができたら、編集アイコンをクリックして、[フィルタをエクスポート] フィールドにフィルタを貼り付けます。

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

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

Cloud Audit のログフィルタを調整する

Cloud Audit Data Access ログは、脅威検出値があまり高くない大量のログを生成する可能性があります。これらのログを 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 Data Access ログの調整の詳細については、こちらをご覧ください。

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

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

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

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

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")

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

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

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"

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

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

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"

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

次のエクスポート フィルタでは、特定のプロジェクトを除き、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 Security Operations への Google Cloud アセット メタデータのエクスポート

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

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

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

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

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

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

Resource Manager のコンテキスト ログ フィールドの例には、assetTyperesource.data.nameresource.version などがあります。

リソースタイプの詳細については、Cloud Asset Inventory でサポートされるリソースタイプをご覧ください。

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

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

フィールド マッピング リファレンスとサポートされるリソースタイプ

次の表に、Google Security Operations がサポートするコンテキスト パーサー、対応する取り込みラベル、サポートされているリソースタイプを示します。

コンテキスト パーサーのマッピング リファレンス ドキュメントを表示するには、テーブル内の対応するコンテキスト パーサー名をクリックします。

サービス名 取り込みラベル サポートされるリソースタイプ
BigQuery GCP_BIGQUERY_CONTEXT
Resource Manager GCP_RESOURCE_MANAGER_CONTEXT
Cloud SQL GCP_SQL_CONTEXT
Cloud Functions GCP_CLOUD_FUNCTIONS_CONTEXT
Identity and Access Management GCP_IAM_CONTEXT
Network Connectivity Center GCP_NETWORK_CONNECTIVITY_CONTEXT
Google Kubernetes Engine GCP_KUBERNETES_CONTEXT
Compute Engine GCP_COMPUTE_CONTEXT

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

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

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

Security Command Center のプレミアム ティアの検出結果を Google Security Operations にエクスポートするには、[Security Command Center Premium の検出] を [有効] に切り替えます。

Security Command Center Premium のティアの検出結果を有効にする

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

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

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

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

Google Cloud データ取り込みの無効化

  1. [Google Security Operations の接続を解除し、Google Cloud ログの Google Security Operations への送信を停止する] チェックボックスをオンにします。

  2. [Google Security Operations の接続を解除] をクリックします。

    Google Security Operations の接続を解除します。

トラブルシューティング

  • リソースと ID の関係が Google Security Operations システムにない場合は、[Export Cloud logs to Google Security Operations] を無効にしてから再度有効にします。
  • アセットのメタデータは、Google Security Operations に定期的に取り込まれます。Google Security Operations の UI と API に変更が反映されるまでに数時間かかります。

次のステップ

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