Google Cloud Google Security Operations にデータを取り込む
このページでは、 Google Cloud Google SecOps へのデータの取り込みを有効または無効にする方法について説明します。Google SecOps を使用すると、データの保持期間に応じて、自社の集約されたセキュリティ情報を数か月以上に遡って保存、検索、調査できます。
概要
Google Cloud データを Google SecOps に送信するには、2 つの方法があります。適切なオプションの選択は、ログタイプによって異なります。
オプション 1: 直接取り込み
Google Cloud に特殊な Cloud Logging フィルタを構成して、特定のログタイプをリアルタイムで Google SecOps に送信できます。これらのログは Google Cloud サービスによって生成されます。
Google Security Operations は、サポートされているログタイプのみを取り込みます。使用可能なログタイプには、次のものがあります。
- 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
)
特定のログフィルタと取り込みの詳細については、Google SecOps に Google Cloud ログをエクスポートするをご覧ください。
コンテキストの拡充に使用される Google Cloud アセット メタデータを送信することもできます。詳細については、 Google Cloud アセット メタデータを Google SecOps にエクスポートするをご覧ください。
オプション 2: Google Cloud ストレージ
Cloud Logging では、スケジュールに従って Google SecOps が取得するように Cloud Storage にログを転送できます。
Google SecOps 用に Cloud Storage を構成する方法については、フィード管理: Cloud Storage をご覧ください。
始める前に
Google Cloud データを Google SecOps インスタンスに取り込む前に、次の手順を完了する必要があります。
Google SecOps セクションにアクセスするために必要な IAM ロールを付与します。
- Chronicle サービス管理者(
roles/chroniclesm.admin
): すべてのアクティビティを実行するための IAM ロール。 - Chronicle サービス閲覧者(
roles/chroniclesm.viewer
): 取り込みの状態のみを閲覧する IAM ロール。 - セキュリティ センター管理編集者(
roles/securitycenter.adminEditor
): Cloud アセット メタデータの取り込みを有効にするために必要です。
- Chronicle サービス管理者(
Cloud Asset メタデータを有効にする場合は、組織を Security Command Center にオンボーディングする必要があります。詳細については、組織レベルでの有効化の概要をご覧ください。
IAM ロールの付与
必要な IAM ロールを付与するには、Google Cloud Console または gcloud CLI を使用します。
Google Cloud Console を使用して IAM ロールを付与するには、次の操作を行います。
接続する Google Cloud 組織にログインし、[プロダクト] > [IAM と管理] > [IAM] を使用して IAM 画面に移動します。
IAM 画面でユーザーを選択し、[メンバーを編集] をクリックします。
[権限の編集] 画面で、[別のロールを追加] をクリックして「Google SecOps」を検索し、IAM ロールを見つけます。
ロールを割り当てたら、[保存] をクリックします。
Google Cloud CLI を使用して IAM のロールを付与するには、次の手順を行います。
正しい組織にログインしていることを確認します。これを確認するには、
gcloud init
コマンドを実行します。gcloud
を使用して Chronicle Service 管理者 IAM ロールを付与するには、次のコマンドを実行します。gcloud organizations add-iam-policy-binding
ORGANIZATION_ID \ --member "user:USER_EMAIL " \ --role roles/chroniclesm.admin以下を置き換えます。
ORGANIZATION_ID
: 数値の組織 IDUSER_EMAIL
: ユーザーのメールアドレス。
gcloud
を使用して Chronicle Service 閲覧者 IAM ロールを付与するには、次のコマンドを実行します。gcloud organizations add-iam-policy-binding
ORGANIZATION_ID \ --member "user:USER_EMAIL " \ --role roles/chroniclesm.viewergcloud
を使用してセキュリティ センター管理編集者のロールを付与するには、次のコマンドを実行します。gcloud organizations add-iam-policy-binding
ORGANIZATION_ID \ --member "user:USER_EMAIL " \ --role roles/securitycenter.adminEditor`
Google Cloudからの直接取り込みを有効にする
Google Cloud からの直接取り込みを有効にする手順は、Google SecOps インスタンスがバインドされているプロジェクトの所有権によって異なります。
所有して管理しているプロジェクトにバインドされている場合は、プロジェクトがお客様所有の場合の取り込みを構成するの手順に沿って操作します。この方法では、複数の Google Cloud 組織からのデータ取り込みを構成できます。
Google Cloud が所有および管理するプロジェクトにバインドされている場合は、 Google Cloudが所有するプロジェクトで取り込みを構成するの手順に沿って操作します。
直接取り込みを構成すると、 Google Cloud データが Google SecOps に送信されます。Google SecOps の分析機能を使用して、セキュリティ関連の問題を調査できます。
プロジェクトがお客様所有の場合に取り込みを構成する
Google Cloud プロジェクトを所有している場合は、次の手順を行います。
複数の組織からの直接取り込みは、同じプロジェクト レベルの構成ページを使用して構成できます。新しい構成を作成して既存の構成を編集する手順は次のとおりです。
既存の Google SecOps インスタンスを移行して、所有するプロジェクトにバインドする場合、移行前に直接取り込みが構成されている場合、直接取り込みの構成も移行されます。
- Google Cloud コンソールで、[Google SecOps] > [取り込み設定] ページに移動します。
[Google SecOps] ページに移動 - Google SecOps インスタンスにバインドされているプロジェクトを選択します。
[組織] メニューで、ログをエクスポートする組織を選択します。メニューには、アクセス権のある組織が表示されます。このリストには、Google SecOps インスタンスにリンクされていない組織が含まれる場合があります。別の Google SecOps インスタンスにデータを送信する組織を構成することはできません。
[Google Cloud の取り込み設定] セクションで、[Google Security Operations へのデータの送信] 切り替えボタンをクリックして、Google SecOps へのログの送信を有効にします。
次のオプションを 1 つ以上選択して、Google SecOps に送信されるデータの種類を定義します。
- Google Cloud Logging: このオプションの詳細については、ログをエクスポートする Google Cloud をご覧ください。
- Cloud Asset メタデータ: このオプションの詳細については、 Google Cloud アセット メタデータをエクスポートするをご覧ください。
- Security Command Center Premium の検出結果: このオプションの詳細については、Security Command Center Premium の検出結果をエクスポートするをご覧ください。
[カスタマー エクスポート フィルタの設定] セクションで、Google SecOps にエクスポートされる Cloud Logging データをカスタマイズするエクスポート フィルタを定義します。エクスポートするログデータの種類については、 Google Cloud ログをエクスポートするをご覧ください。
別の組織から同じ Google SecOps インスタンスにログを取り込むには、[組織] メニューから組織を選択し、手順を繰り返して、エクスポートするデータの種類とエクスポート フィルタを定義します。[組織] メニューに複数の組織が表示されます。
Google Cloud Cloud Data Loss Prevention データを Google SecOps にエクスポートするには、 Google Cloud Cloud Data Loss Prevention データを Google SecOps にエクスポートするをご覧ください。
プロジェクトが Google Cloud所有の場合に取り込みを構成する
Google Cloud がプロジェクトを所有している場合は、次の手順で Google Cloud 組織から Google SecOps インスタンスへの直接取り込みを構成します。
- Google Cloud コンソールで、[Google SecOps] > [概要] > [取り込み] タブに移動します。[Google SecOps の取り込み] タブに移動
- [組織の取り込み設定を管理する] ボタンをクリックします。
- [ページはプロジェクトで表示できません。] というメッセージが表示された場合は、組織を選択して [選択] をクリックします。
- [1 回限りの Google SecOps アクセスコード] フィールドに 1 回限りのアクセスコードを入力します。
- [I consent to the terms and conditions of Google SecOps's usage of my Google Cloud data] チェックボックスをオンにします。
- [Google SecOps を接続] をクリックします。
- 組織の [グローバル取り込み設定] タブに移動します。
次のいずれかのオプションを有効にして、送信するデータの種類を選択します。
- Google Cloud Logging: このオプションの詳細については、 Google Cloud ログをエクスポートするをご覧ください。
- Cloud Asset Metadata このオプションの詳細については、 Google Cloud アセット メタデータをエクスポートするをご覧ください。
- Security Command Center Premium の検出結果: このオプションの詳細については、Security Command Center Premium の検出結果をエクスポートするをご覧ください。
[フィルタのエクスポート設定] タブに移動します。
[カスタマー エクスポート フィルタの設定] セクションで、Google SecOps にエクスポートされる Cloud Logging データをカスタマイズするエクスポート フィルタを定義します。エクスポートするログデータの種類については、 Google Cloud ログをエクスポートするをご覧ください。
Google Cloud Cloud Data Loss Prevention データを Google SecOps にエクスポートするには、 Google Cloud Cloud Data Loss Prevention データを Google SecOps にエクスポートするをご覧ください。
Google Cloud ログをエクスポートする
Cloud Logging を有効にすると、次のタイプのGoogle Cloud データを Google SecOps インスタンスにエクスポートできます。ログの種類と Google SecOps 取り込みラベルでリストされます。
- Cloud Audit Logs(
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")
- 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
:log_id("apigee.googleapis.com/ingress_instance")
log_id("apigee.googleapis.com")
log_id("apigee-logs")
log_id("apigee")
logName =~ "^projects/[\w\-]+/logs/apigee[\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 SecOps にエクスポートするには、[Cloud ログを有効にする] を [有効] に設定します。サポートされている Google Cloud ログタイプは、Google SecOps インスタンスにエクスポートできます。
使用するログフィルタに関するベスト プラクティスについては、 Google Cloudのセキュリティ ログ分析をご覧ください。
エクスポート フィルタの設定
以降のセクションでは、エクスポート フィルタについて説明します。
カスタム エクスポート フィルタの設定
デフォルトでは、Cloud Audit Logs(管理アクティビティとシステム イベント)と Cloud DNS ログが Google SecOps インスタンスに送信されます。ただし、エクスポート フィルタをカスタマイズして、特定の種類のログを含めることや除外することが可能です。エクスポート フィルタは、Google ロギングクエリ言語に基づいています。
ログのカスタム フィルタを定義する手順は次のとおりです。
ロギングクエリ言語を使用してログのカスタム フィルタを作成して、フィルタを定義します。このタイプのフィルタを定義する方法については、Logging のクエリ言語をご覧ください。
Google Cloud コンソールで Google SecOps ページに移動し、プロジェクトを選択します。
[Google SecOps] ページに移動[フィルタ設定をエクスポート] タブに用意されたリンクを使用して、ログ エクスプローラを起動します。
新しいクエリを [クエリ] フィールドにコピーし、[クエリを実行] をクリックしてテストします。
新しいクエリを ログ エクスプローラ > [クエリ] フィールドにコピーし、[クエリを実行] をクリックしてテストします。
ログ エクスプローラに一致するログが Google SecOps にエクスポートする予定であるログと同一であることを確認します。フィルタの準備ができたら、Google SecOps の [カスタム エクスポート フィルタ設定] セクションにコピーします。
[Google SecOps] ページの [カスタム エクスポート フィルタの設定] セクションに戻ります。
[カスタム エクスポート フィルタの設定] セクション
[フィルタをエクスポート] フィールドの編集アイコンをクリックし、フィルタをフィールドに貼り付けます。
[保存] ボタンをクリックします。 新しいカスタム フィルタは、Google SecOps インスタンスにエクスポートされたすべての新しいログに対して機能します。
エクスポート フィルタをデフォルトのバージョンに戻すには、[デフォルトに戻す] をクリックします。必ず、カスタム フィルタのコピーを保存してください。
Cloud Audit Logs フィルタを調整する
Cloud Audit Logs によって書き込まれるデータアクセス ログは、脅威検出値があまり高くない大量のデータを生成できます。これらのログを Google SecOps に送信することを選ぶ場合は、ルーティン アクティビティによって生成されたログを除外する必要があります。
次のエクスポート フィルタは、データアクセス ログをキャプチャし、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 SecOps インスタンスへのエクスポートから特定の種類のログに含めるか除外するかの方法を示します。
エクスポート フィルタの例: 追加のログタイプを含める
次のエクスポート フィルタでは、デフォルトのログに加えて、アクセスの透明性ログがエクスポートされます。
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 SecOps にエクスポートできます。このアセットのメタデータは Cloud Asset Inventory から取得され、次のようなアセット、リソース、ID に関する情報で構成されています。
- 環境
- ロケーション
- ゾーン
- ハードウェア モデル
- リソースと ID 間のアクセス制御の関係
次の種類の Google Cloud アセット メタデータが Google SecOps インスタンスにエクスポートされます。
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 SecOps にエクスポートするには、[Cloud Asset Metadata] を [Enabled] に設定します。
コンテキスト パーサーの詳細については、Google SecOps コンテキスト パーサーをご覧ください。
Security Command Center の検出結果をエクスポートする
Security Command Center Premium の Event Threat Detection の検出結果と他のすべての検出結果を Google SecOps にエクスポートできます。
ETD の検出結果の詳細については、Event Threat Detection の概要をご覧ください。
Security Command Center Premium の検出結果を Google SecOps にエクスポートするには、[Security Command Center Premium の検出] の切り替えを有効に設定します。
Sensitive Data Protection のデータを Google SecOps にエクスポートする
機密データの保護のアセット メタデータ(DLP_CONTEXT
)を取り込むには、次の手順を行います。
- このドキュメントの前のセクションを完了して、 Google Cloud データの取り込みを有効にします。
- データをプロファイリングするように機密データの保護を構成します。
- スキャン構成を構成して、Google SecOps にデータ プロファイルを公開します。
BigQuery データのデータ プロファイルの作成方法について詳しくは、機密データの保護のドキュメントをご覧ください。
Google Cloud データの取り込みを無効にする
Google Cloud からの直接取り込みを無効にする手順は、Google SecOps の構成方法によって異なります。次のいずれかを選択します。
Google SecOps インスタンスが、所有して管理しているプロジェクトにバインドされている場合は、次の操作を行います。
- Google SecOps インスタンスにバインドされているプロジェクトを選択します。
- Google Cloud コンソールで、[Google SecOps] の [取り込み] タブに移動します。
[Google SecOps] ページに移動 - [組織] メニューで、ログをエクスポートする組織を選択します。
- [Google Security Operations へのデータの送信] 切り替えボタンを [無効] に設定します。
- 複数の組織からのデータ エクスポートを構成し、それらも無効にする場合は、組織ごとに次の手順を行います。
Google SecOps インスタンスが、 Google Cloud の所有および管理するプロジェクトにバインドされている場合は、次の操作を行います。
- Google Cloud コンソールで、[Google SecOps] > [取り込み] ページに移動します。
[Google SecOps] ページに移動 - リソース メニューで、Google SecOps インスタンスにバインドされ、データを取り込む組織を選択します。
- [Google SecOps の接続を解除し、 Google Cloud ログの Google SecOps への送信を停止する] チェックボックスをオンにします。
- [Google SecOps との接続を解除] をクリックします。
- Google Cloud コンソールで、[Google SecOps] > [取り込み] ページに移動します。
取り込みレートを制御する
テナントのデータの取り込みレートが特定のしきい値に達すると、Google Security Operations は新しいデータフィードの取り込みレートを制限して、取り込みレートが高いソースが別のデータソースの取り込みレートに影響を与えないようにします。 この場合、遅延は生じますが、データが失われることはありません。しきい値は取り込み量とテナントの使用履歴によって決まります。
レート制限の引き上げをリクエストするには、Cloud カスタマーケアにお問い合わせください。
トラブルシューティング
- Google SecOps インスタンスにリソースと ID の関係がない場合は、Google SecOps へのログデータの直接取り込みを無効にしてから再度有効にします。
- Google Cloud アセットのメタデータは、Google SecOps に定期的に取り込まれます。Google SecOps UI と API に変更が表示されるまでに数時間かかります。
次のステップ
- Google SecOps 担当者から提供されたお客様固有の URL を使用して、Google SecOps インスタンスを開きます。
- Google SecOps の詳細