VPC Service Controls を構成する
このガイドでは、Google Security Operations 用に VPC Service Controls を構成する方法について説明します。
VPC Service Controls を使用すると、データ漏洩を防ぐためのサービス境界を設定できます。Google SecOps がサービス境界外のリソースとサービスにアクセスできるように、VPC Service Controls を使用して Google Security Operations を構成します。
VPC Service Controls の詳細については、VPC Service Controls の概要をご覧ください。VPC Service Controls でサポートされているプロダクトの表の Google Security Operations のエントリもご覧ください。
始める前に
- 組織レベルで VPC Service Controls を構成するために必要なロールがあることを確認します。
VPC Service Controls で Google SecOps を使用するには、VPC Service Controls に準拠した機能のみを使用できます。VPC Service Controls に準拠した機能は次のとおりです。
- VPC Service Controls を使用する Google SecOps は、 Google Cloud Identity 認証、サードパーティ ID プロバイダ、Workforce Identity 連携のみをサポートしています。
- Google SecOps で VPC Service Controls を使用するには、Google SecOps 機能の RBAC を有効にする必要があります。
VPC Service Controls を使用する Google SecOps は、次の一般公開 API のみをサポートしています。
chronicle.googleapis.comchronicleservicemanager.googleapis.com
VPC Service Controls にオンボーディングするには、対応するすべてのエンドポイントを
chronicle.googleapis.comAPI に移行する必要があります。VPC Service Controls を使用する Google SecOps は、Google SecOps Unified Data Model(UDM)データのセルフマネージド BigQuery プロジェクトへのエクスポート、またはAdvanced BigQuery Exportを使用したエクスポートのみをサポートしています。
VPC Service Controls は Google SecOps ダッシュボードのみをサポートしています。
Cloud Storage フィードは、v2 コネクタを使用して
GOOGLE_CLOUD_STORAGE_V2ソースタイプでのみ作成できます。Google SecOps が VPC Service Controls の境界内で制限されている場合に新しい Pub/Sub サブスクリプションを作成すると、Google SecOps では、CLOUD_PUB_SUB フィードの代わりに Cloud Storage にログを書き込み、GOOGLE_CLOUD_STORAGE_V2 または GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN を使用する必要があります。
顧客管理の暗号鍵(CMEK)を使用する Google SecOps インスタンスの場合、Cloud Key Management Service プロジェクトを Google SecOps リンク Google Cloud プロジェクトと同じ境界内に保持するか、鍵を Google SecOps リンク Google Cloud プロジェクト自体に保持することを強くおすすめします。
プラットフォームの SOAR 側で、Google SecOps インスタンスが 顧客管理の暗号鍵(CMEK)を使用している場合は、SOAR インスタンスが移行されていることを確認します。
制限事項
Google SecOps Chronicle API エンドポイント
ImportPushLogsは VPC Service Controls をサポートしていません。ただし、ImportPushLogsエンドポイントはデータのアクセスではなく、Google SecOps インスタンスへのデータの push にのみ使用されるため、この制限によってデータ漏洩のリスクが生じることはありません。VPC Service Controls を使用する Google SecOps は、Looker ダッシュボードをサポートしていません。
Google Cloud Pub/Sub は、Chronicle API エンドポイントを使用してログを取り込む新しい Pub/Sub サブスクリプションの作成をサポートしていません(VPC Service Controls でサポートされているプロダクトの表の Pub/Sub エントリ)。ただし、既存の Pub/Sub サブスクリプション(VPC Service Controls の境界内に Google Cloud プロジェクトを移動する前に作成されたもの)は、引き続き想定どおりにログを取り込みます。
VPC Service Controls を使用する Google SecOps は、従来のクラウド バケットとサードパーティ API フィード コネクタをサポートしていません。
上り(内向き)ルールと下り(外向き)ルールを構成する
サービス境界の構成に基づいて、上り(内向き)ルールと下り(外向き)ルールを構成します。詳細については、サービス境界の概要をご覧ください。
VPC Service Controls で問題が発生した場合は、VPC Service Controls の違反分析ツールを使用して、問題のデバッグと分析を行います。詳細については、違反分析ツールでアクセス拒否を診断するをご覧ください。
SOAR の上り(内向き)ルールを構成する
このセクションでは、プラットフォームの SOAR 側で VPC Service Controls を構成する方法について説明します。
Google SecOps の設定時に指定した Google Cloud ユーザー アカウントに対して、次の上り(内向き)ルールを構成します。
- ingressFrom:
identityType: ANY_SERVICE_ACCOUNT
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: secretmanager.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
PROJECT_NUMBER は、Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号に置き換えます。
SIEM のルールを構成する
このセクションでは、プラットフォームの SIEM 側で VPC Service Controls を構成する方法について説明します。
Advanced BigQuery Export の上り(内向き)ルール
Advanced BigQuery Export 機能を使用している場合は、Google SecOps の設定時に指定した Google Cloud ユーザー アカウントに対して次のルールを構成します。
- ingressFrom:
identities:
- serviceAccount:malachite-bq-export-entity-graph-batch-adv-bq@system.gserviceaccount.com
- serviceAccount:malachite-customer-monitoring-exporter@system.gserviceaccount.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
PROJECT_NUMBER は、Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号に置き換えます。
データテーブルの上り(内向き)ルール
データテーブルを使用している場合は、Google SecOps の設定時に指定した Google Cloud ユーザー アカウントに対して次のルールを構成します。
- ingressFrom:
identities:
- user:malachite-data-plane-api@prod.google.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
PROJECT_NUMBER は、Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号に置き換えます。
ケース管理の上り(内向き)ルールを構成する
新しいケース管理エクスペリエンスを使用する場合は、Google SecOps の設定時に指定した Google Cloud ユーザー アカウントに対して次の上り(内向き)ルールを構成します。
- ingressFrom:
identities:
- user:malachite-case-management-service@prod.google.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: trafficdirector.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
PROJECT_NUMBER は、Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号に置き換えます。
Security Command Center を使用する Google SecOps のルールを構成する
このセクションでは、Security Command Center を使用する Google SecOps 用に VPC Service Controls を構成する方法について説明します。
次のルール内のサービス アカウントは、Google SecOps のプロビジョニング中にのみ作成されます。そのため、プロビジョニング後、Security Command Center の使用を開始する前に、Security Command Center のルールを構成する必要があります。
Google SecOps の設定時に指定した Google Cloud ユーザー アカウントに対して、次のタスクを完了します。
次の上り(内向き)ルールを構成します。
- ingressFrom: identities: - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-csc-hpsa.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-asm-hpsa.iam.gserviceaccount.com sources: - accessLevel: "*" ingressTo: operations: - serviceName: chronicle.googleapis.com methodSelectors: - method: "*" - serviceName: securitycenter.googleapis.com methodSelectors: - method: "*" - serviceName: compute.googleapis.com methodSelectors: - method: "*" - serviceName: cloudasset.googleapis.com methodSelectors: - method: "*" - serviceName: monitoring.googleapis.com methodSelectors: - method: "*" - serviceName: iam.googleapis.com methodSelectors: - method: "*" - serviceName: orgpolicy.googleapis.com methodSelectors: - method: "*" - serviceName: serviceusage.googleapis.com methodSelectors: - method: "*" - serviceName: dns.googleapis.com methodSelectors: - method: "*" resources: - projects/PROJECT_NUMBER次のように置き換えます。
GOOGLE_ORGANIZATION_NUMBER: Google Cloud 組織番号PROJECT_NUMBER: Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号
次の下り(外向き)ルールを構成します。
- egressTo: operations: - serviceName: pubsub.googleapis.com methodSelectors: - method: "*" - serviceName: securitycenter.googleapis.com methodSelectors: - method: "*" - serviceName: cloudasset.googleapis.com methodSelectors: - method: "*" - serviceName: iam.googleapis.com methodSelectors: - method: "*" - serviceName: compute.googleapis.com methodSelectors: - method: "*" resources: - "*" egressFrom: identities: - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com sources: - resource: projects/PROJECT_NUMBER次のように置き換えます。
GOOGLE_ORGANIZATION_NUMBER: Google Cloud 組織番号PROJECT_NUMBER: Google SecOps リンク Google Cloud プロジェクトのプロジェクト番号
顧客管理の暗号鍵(CMEK)の上り(内向き)ルールを構成する
このセクションでは、顧客管理の暗号鍵(CMEK)を使用する Google SecOps 用に VPC Service Controls を構成する方法について説明します。CMEK は、ユーザーが所有、管理し、Cloud Key Management Service に保存する暗号鍵です。
次の上り(内向き)ルールを構成します。
- ingressFrom:
identities:
- serviceAccount: service-SECRET_MANAGER_PROJECT_NUMBER@gcp-sa-secretmanager.iam.gserviceaccount.com
- serviceAccount: service-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
- serviceAccount: bq-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: secretmanager.googleapis.com
methodSelectors:
- method: "*"
- serviceName: cloudkms.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/CMEK_PROJECT_NUMBER
次のように置き換えます。
SECRET_MANAGER_PROJECT_NUMBER: Google が一部の取り込み機能のシークレットを保存するために使用するプロジェクト。Google SecOps の担当者から入手できます。GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER: Google が一部のエクスポート機能の BigQuery リソースを保存するために使用するプロジェクト。Google SecOps の担当者から入手できます。CMEK_PROJECT_NUMBER: CMEK を保存するプロジェクト番号