はじめに

Google Cloud の Security Command Center (以下、SCC) は、Google Cloud 環境の脅威検知機能や、リスクの一元的な管理・可視化機能を提供するセキュリティサービスです。

一部の構成ミス検出機能のみが使える無料の Standard Tier、ランタイム脅威検知やコンプライアンス機能も使える Premium Tier、更に SecOps 機能や Mandiant の脅威インテリジェンスで強化された Enterprise Tier があります。
https://cloud.google.com/security-command-center/docs/service-tiers
最近では、生成 AI モデルへのリクエスト・レスポンスを検査する Model Armor の検知結果も SCC で見ることができるようになりました。
https://cloud.google.com/security-command-center/docs/model-armor-overview

今回着目する Security Health Analytics は、クラウド環境をスキャンし、攻撃につながるような構成ミスを検出する、一般的に CSPM (Cloud Security Posture Management) と呼ばれるような機能です。
https://cloud.google.com/security-command-center/docs/concepts-security-health-analytics

Security Health Analytics には、デフォルト無効となっている項目が存在します。
本記事では、どのような項目がデフォルトで無効になっているのかや注意点、デフォルト無効の項目の有効化方法を紹介し、SCC のより効果的な活用を目指します。

SCC Security Health Analytics でデフォルトで無効になっている項目と考慮すべき点

ドキュメントによると、Google Cloud 関連では以下の項目 (detector または module とも) がデフォルト無効になっているとのことです。 (2025年 6月 23日現在)

  • ALLOYDB_AUTO_BACKUP_DISABLED
  • ALLOYDB_CMEK_DISABLED
  • BIGQUERY_TABLE_CMEK_DISABLED
  • BUCKET_CMEK_DISABLED
  • CLOUD_ASSET_API_DISABLED
  • DATAPROC_CMEK_DISABLED
  • DATASET_CMEK_DISABLED
  • DISK_CMEK_DISABLED
  • DISK_CSEK_DISABLED
  • NODEPOOL_BOOT_CMEK_DISABLED
  • PUBSUB_CMEK_DISABLED
  • SQL_CMEK_DISABLED
  • SQL_NO_ROOT_PASSWORD
  • SQL_WEAK_ROOT_PASSWORD
  • VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

コンプライアンス標準の評価における注意点

Compliance 機能は、クラウド環境が様々なセキュリティ標準
(CIS Benchmark, ISO 17001, NIST SP800-53, PCI DSS など) に準拠しているか監視します。
https://cloud.google.com/security-command-center/docs/compliance-management

Health Analytics の設定チェックの結果をもとに準拠状況が表示されます。

Disabled の項目は Pass 扱いになるため、デフォルト設定で評価すると、準拠できていないにもかかわらず見かけ上準拠できているように見えてしまう可能性があります。

例えば、BigQuery テーブルを Google Cloud 管理の暗号鍵でのみ暗号化している環境にて、CIS Benchmark での評価結果を見たところ、CMEK 暗号化の項目は、スキャン対象のリソースなしで、準拠と判定されていました。

無効な Module を有効化する方法

Google Cloud コンソール

まずは SCC にアクセスします。
https://console.cloud.google.com/security/command-center/overview

SCC には Organization 単位や Project 単位の設定があるため、変更したい階層に移動します。
続いて SCC 画面右上から設定画面に入り、Security Health Analytics の MANAGE SETTINGS を開きます。

MODULES タブを開くと、利用可能なモジュール (設定検知項目) とその有効化状態が表示されます。

Filter に Status:Disabled を入力すると無効のもののみ表示できます。
今回私が試した環境では、ドキュメントに記載されている項目以外も Disabled になっているものがありました。

有効化したい場合、Status 部分をクリックして Enabled に変更するだけです。

gcloud

コンソールだと一つ一つ有効化する必要があるので、まとめて有効化したいところです。

ドキュメントに記載されていたデフォルト無効のモジュールを元に、以下のようなファイルを用意します。

ALLOYDB_AUTO_BACKUP_DISABLED:
  intendedEnablementState: ENABLED
ALLOYDB_CMEK_DISABLED:
  intendedEnablementState: ENABLED
BIGQUERY_TABLE_CMEK_DISABLED:
  intendedEnablementState: ENABLED
BUCKET_CMEK_DISABLED:
  intendedEnablementState: ENABLED
CLOUD_ASSET_API_DISABLED:
  intendedEnablementState: ENABLED
DATAPROC_CMEK_DISABLED:
  intendedEnablementState: ENABLED
DATASET_CMEK_DISABLED:
  intendedEnablementState: ENABLED
DISK_CMEK_DISABLED:
  intendedEnablementState: ENABLED
DISK_CSEK_DISABLED:
  intendedEnablementState: ENABLED
NODEPOOL_BOOT_CMEK_DISABLED:
  intendedEnablementState: ENABLED
PUBSUB_CMEK_DISABLED:
  intendedEnablementState: ENABLED
SQL_CMEK_DISABLED:
  intendedEnablementState: ENABLED
SQL_NO_ROOT_PASSWORD:
  intendedEnablementState: ENABLED
SQL_WEAK_ROOT_PASSWORD:
  intendedEnablementState: ENABLED
VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED:
  intendedEnablementState: ENABLED

次の gcloud コマンドを実行すると、Project レベルでモジュールが有効化されます。$PROJECT_ID には Project ID、$MODULE_CONFIG_FILE は上で作成したファイルのパスを入れてください。

gcloud scc manage services update sha \
  --project="$PROJECT_ID" \
  --module-config-file="$MODULE_CONFIG_FILE"

Folder レベルで実行する場合は –folder=$FOLDER_ID オプション、Organization レベルで実行する場合は –organization=$ORGANIZATION_ID オプションを使用します。

参考:https://cloud.google.com/sdk/gcloud/reference/scc/manage/services/update

Terraform

残念ながら 2025/06 現在、Google Cloud が事前に内容定義済み (Type が Predefined) の設定検査用 module を有効化・無効化するような Terraform resource は未提供のようでした。
設定チェック内容を利用者が独自に作成する custom module であれば Terraorm で設定可能なようです。
https://cloud.google.com/security-command-center/docs/terraform

コンソールでも gcloud でも有効化できない module

ACCESS_TRANSPARENCY_DISABLED や AUDIT_LOGGING_DISABLED など、Organization レベルでのみ設定チェックが行われるため、Project レベルでの操作では有効化できません。
これらのモジュールは、コンソールや API での操作が正常に終了したように見えても、実際には有効になっていない場合があります。

これらのモジュールを利用する場合は、Organization レベルで有効化する必要があります。

設定変更時の注意点

今回の例では何も考えずに全てのモジュールを有効化しましたが、有効化によって検知が増加する可能性が高いです。
組織のセキュリティポリシーや Google Cloud 上にあるシステム・データに対して、過剰に堅牢な設定を求めるような検知結果を生成してしまう可能性もあります。

自社のセキュリティポリシーやコンプライアンス要件に基づいた Control を選択し、それに必要なモジュールを有効化するようにしてください。
また、SCC の機能は随時アップデートされていますので、定期的な設定のレビューも推奨します。

まとめ

Google Cloud の Security Command Center (SCC) において、Security Health Analytics にデフォルトで無効になっている項目があることとその影響、有効化方法などを紹介しました。

組織のセキュリティポリシーやコンプライアンス要件に基づいて、SCC の初期設定時および定期的に、必要な設定を見直すことをおすすめします!