Google Cloud が推奨セキュリティチェックリストを公開しました

Google Cloud が推奨セキュリティチェックリストを公開しました

Google Cloud で推奨セキュリティチェックリストが公開されたので、まずはベーシックレベルから適用していきましょう。
2026.03.17

ウィスキー、シガー、パイプをこよなく愛する大栗です。

Google Cloud が推奨するセキュリティチェックリスト「Google Cloud minimum viable secure platform(GCMVSP)」が公開されました。60 のセキュリティコントロールが段階的にまとめられており、すぐに使える Terraform コードも提供されています。

Google Cloud の Office of the CISO とセキュリティの専門家が策定した、クラウド環境のセキュリティベースラインを構築するためのチェックリストです。

Minimum Viable Secure Product(MVSP) の原則に基づいており、組織の規模やユースケースに依存しない、普遍的に有益なセキュリティコントロールが整理されています。

4 つの設計思想

チェックリストは以下の 4 つの思想に基づいて設計されています。

思想 説明
シンプル 特定のアーキテクチャに依存しない、普遍的に有益なアクション
拡張性 ベーシック / 中級 / 上級の 3 段階で組織の成長に合わせて適用
自動化可能性 組織ポリシー実装のサンプルコード(Terraform)が GitHub で公開されており、参考にしながらデプロイ可能
AI 対応 Agentic AI などの先進技術を導入するための基盤コンポーネントを提供

チェックリストの構成

実装レベル

チェックリストは 3 段階の実装レベルに分かれています。

レベル 対象 説明
ベーシック 全ての組織 Google Cloud を利用する全ての組織に推奨される基本的なセキュリティ原則
中級 基礎を超えた組織 基本的なセキュリティを実装済みで、追加のコントロールが必要な組織向け
上級 高度な制御が必要な組織 より厳格なセキュリティコントロールが求められる組織向け

必要性に応じて、ベーシックから始めて段階的に適用していくことが推奨されています。

6 つのドメイン

60 のセキュリティコントロールは、以下の 6 つのドメインに分類されています。

ドメイン 概要
認証と認可 ID ソースの定義、MFA、サービスアカウントキー管理、IAM ロール設計
組織 ドメイン制限共有、リソースロケーション制限、サービス利用制限
インフラストラクチャ VM シリアルポート無効化、Shielded VM、IPv6 制御
データ保護 Uniform bucket-level access、Cloud SQL パブリック IP 制限、暗号化戦略
ネットワーク セキュリティ デフォルトネットワーク作成禁止、Private Google Access、Cloud Armor
モニタリング、ロギング、アラート セキュリティ速報の購読、Essential Contacts、請求異常の監視

各カテゴリのコントロール

各カテゴリの全コントロールをレベル別に紹介します。

認証と認可(Authentication and authorization)

レベル コントロール 説明
ベーシック ID の信頼できる情報源を定義する Cloud Identity、既存 IdP からの同期、または Workforce Identity Federation を使用
ベーシック 冗長な管理者アカウントを作成する 単一の Super Admin によるロックアウトリスクを回避(最大 20 アカウント)
ベーシック 安全なパスワード ポリシーを適用する 全ユーザーに強力で一意のパスワードを要求。パスワードマネージャーの利用を推奨
ベーシック 職務に基づくロールを使用する 事前定義ロールやカスタムロールで最小権限を実現
ベーシック 外部サービス アカウント キーの作成をブロックする iam.disableServiceAccountKeyCreation 制約で長期認証情報を制限
中級 グループ内の外部メンバーを制限する 組織外のアカウントが Google Groups に追加されるのを防止
中級 1 日のセッションの長さを設定する Google Cloud サービスのセッションを最低でも1日ごとに期限切れに設定
中級 管理対象外の一般ユーザー向けアカウントを修復する 組織管理外の個人アカウントを統合または削除
中級 専用の管理者と複数の関係者による承認を適用する スーパー管理者アカウントを日常業務から分離し、複数の承認を必須化
中級 すべての Google アカウントと Cloud Identity ユーザーに対して多要素認証を有効にする 全 Google アカウントと Cloud Identity ユーザーに多要素認証を有効化
中級 デフォルトの作成者ロールを取り消す プロジェクトおよび課金アカウントクリエーターロールのデフォルト付与を削除
中級 Privileged Access Manager を使用する 特権アクセスに PAM を使用し、一般アクセスはアクセスグループで管理
中級 デフォルトのサービス アカウントに対する IAM ロールの自動付与を無効にする デフォルトサービスアカウントへの自動ロール付与を無効化
中級 サービス アカウント キーをローテーションする サービスアカウントキーを 90 日以内に最低1回ローテーション
中級 Workload Identity 連携を使用する CI/CD やマルチクラウド環境からの認証に WIF を使用し、SA キーを排除
上級 特権管理者アカウントの自己復元をブロックする スーパー管理者アカウントの自己復旧を無効化(既存顧客は設定を確認)
上級 機密性の高いユースケースのアイドル セッション タイムアウトを設定する センシティブなユースケースのアイドルセッションタイムアウトを 15 分に設定
上級 管理者に対してハードウェア セキュリティ キーを適用する スーパー管理者に物理セキュリティキー(ハードウェアトークン)を配布
上級 SSO 後の検証を有効にする 外部 IdP 使用時に SSO 後の追加認証レイヤーを有効化
上級 プリンシパル アクセス境界ポリシーを有効にする アクセス境界を定義し、権限昇格攻撃を防止

組織(Organization)

レベル コントロール 説明
中級 承認済みプリンシパルを制限する ドメイン制限共有(iam.allowedPolicyMemberDomains)で組織内 ID のみを IAM に許可
上級 リソースのロケーションを制限する gcp.resourceLocations 制約で承認済みリージョンのみにリソースを作成・保存
上級 リソース サービスの使用を制限する gcp.restrictServiceUsage 制約で承認済みサービスのみを使用可能に制限

インフラストラクチャ(Infrastructure)

レベル コントロール 説明
ベーシック VM シリアルポート アクセスを無効にする compute.disableSerialPortAccess 制約でシリアルポートへの不正アクセスを防止
ベーシック IPv6 を無効にする(必要な場合を除く) IPv6 外部サブネットを無効化して攻撃対象領域を削減
ベーシック Shielded VM 機能を有効にする vTPM とインテグリティ監視を有効化してブートレベルの改ざんを検出
ベーシック GKE Autopilot を使用する セキュリティ機能が組み込まれた Autopilot クラスターを使用
ベーシック GKE クラスタとノードに最小権限のアカウントを使用する GKE クラスターとノードに最小権限のサービスアカウントを設定
ベーシック コントロール プレーンへのアクセスを制限する DNS ベースエンドポイントでコントロールプレーンへのアクセスを制限
ベーシック Container-Optimized OS を使用する 強化されたマネージド OS である COS を使用
中級 VM に OS Login を適用する Compute Engine への SSH アクセスに OS Login と 2 段階認証を適用
中級 VM の外部 IP アドレスを制限する 不要な Compute Engine インスタンスへのパブリック IP 付与を防止
中級 Workload Identity Federation for GKE を使用する GKE から Google Cloud API への認証に WIF を使用
中級 限定公開 GKE ノードを使用する ノードにプライベート IP を使用してインターネット露出を削減
中級 RBAC 向け Google グループを使用する GKE のロールベースアクセス制御に Google Groups を使用
上級 GKE Sandbox を有効にする gVisor によるサンドボックスで信頼できないコードのカーネルアクセスを制限
上級 Binary Authorization を適用する 信頼済みコンテナイメージのみが GKE にデプロイされるよう強制
上級 Confidential Google Kubernetes Engine ノードを使用する Confidential GKE Nodes で実行中のデータを暗号化
上級 GKE でカスタム認証局を実行する 独自の認証局で証明書とキーを管理
上級 Cloud KMS を使用して Kubernetes Secret を暗号化する Cloud KMS マネージドキーで Kubernetes Secrets を暗号化
上級 ノード ブートディスクに CMEK を使用する カスタマー管理の暗号化キーでノードブートディスクを暗号化

データ保護(Data protection)

レベル コントロール 説明
ベーシック 均一なバケットレベルのアクセスの使用 ACL を無効化し IAM を唯一の権限管理に統一
ベーシック Cloud SQL のパブリック IP アドレスを制限する sql.restrictPublicIp 制約でデータベースのインターネット直接公開を防止
中級 Cloud Storage バケットへのパブリック アクセスをブロックする allUsers / allAuthenticatedUsers への ACL・IAM 付与を組織全体でブロック
中級 BigQuery データセットへのアクセス権を確認する 意図せず公開されている BigQuery データセットがないかを確認
上級 マネージド暗号化戦略を作成する Cloud KMS with Autokey や Cloud EKM で独自の暗号鍵を管理

ネットワーク セキュリティ(Network security)

レベル コントロール 説明
ベーシック デフォルト ネットワークの作成をブロックする compute.skipDefaultNetworkCreation で自動作成される VPC を抑制
ベーシック 限定公開の Google アクセスを有効にする 外部 IP なしで Google Cloud サービスにアクセス
中級 Cloud Armor ポリシーを使用する L3〜L7 のネットワーク保護を外部公開アプリに適用
中級 アウトバウンド トラフィックを制限する デフォルト全許可ではなく、必要な宛先のみ許可するポリシー
中級 SSH ポートと RDP ポートへのインバウンド アクセスを制限する IAP 経由のアクセスに制限し、ブルートフォース攻撃を防止
上級 VPC Service Controls を有効にする データ漏洩防止の追加レイヤーとして分離境界を設定

モニタリング、ロギング、アラート(Monitoring, logging, and alerting)

レベル コントロール 説明
ベーシック セキュリティに関する公開情報を購読する 脆弱性情報と緩和策の通知を受信
ベーシック 重要な連絡先グループを構成する 個人メールではなくグループエイリアスで重要通知を受信
ベーシック 請求の異常をモニタリングする 急激な請求額の増加はセキュリティ侵害の指標
中級 ファイアウォール ルール ロギングを有効にする ファイアウォールルールの効果を監査・検証
中級 Cloud Identity から監査ログを共有する ユーザーログインイベント等を Google Cloud に集約
上級 アクセスの透明性ログを有効にする Google サポートスタッフによるアカウントアクセスを記録・監査
上級 長期保存のためにログをログシンクにエクスポートする PCI・HIPAA 等のコンプライアンス要件に対応する長期ログ保存を設定

やってみる

チェックリストに含まれる組織ポリシーを Terraform で一括デプロイしてみます。サンプルのコードでは以下のポリシーが設定されます。

リソース名 ポリシー 内容
require_os_login compute.managed.requireOsLogin OS Login を強制
vm_external_ip_access compute.vmExternalIpAccess VM への外部 IP 付与を全拒否
skip_default_network_creation compute.skipDefaultNetworkCreation デフォルトネットワーク自動作成を無効化
disable_serial_port_access compute.disableSerialPortAccess シリアルポートアクセスを無効化

対象のフォルダのポリシーは以下のように非アクティブになっています。

スクリーンショット 2026-03-17 13.10.29

前提条件

  • Google Cloud の組織(Organization)が存在すること
  • 対象の組織、フォルダ、またはプロジェクトに対して Organization Policy Admin ロールを持つユーザーであること
  • gcloud CLI、Terraform、Git CLI がインストール済みであること
$ gcloud --version
Google Cloud SDK 560.0.0
bq 2.1.29
core 2026.03.09
gcloud-crc32c 1.0.0
gsutil 5.36
$ terraform --version
Terraform v1.14.7
on darwin_arm64
+ provider registry.terraform.io/hashicorp/google v7.22.0
+ provider registry.terraform.io/hashicorp/google-beta v7.22.0
+ provider registry.terraform.io/hashicorp/local v2.5.2
+ provider registry.terraform.io/hashicorp/null v3.2.3
+ provider registry.terraform.io/hashicorp/time v0.12.1

現在の対象のポリシーは

リポジトリのクローン

まずは GitHub リポジトリをクローンします。

$ git clone https://github.com/GoogleCloudPlatform/ociso-solutions.git
$ cd ociso-solutions/gcmvsp

ファイル構成の確認

リポジトリの構成は以下のようになっています。

gcmvsp/
├── README.md
├── main.tf        # 組織ポリシーの定義
├── providers.tf   # プロバイダ設定
├── variables.tf   # 変数定義
└── versions.tf    # Terraform バージョン制約

変数ファイルの作成

terraform.tfvars ファイルを作成し、適用先のリソース階層を指定します。

$ cat terraform.tfvars
parent_id = "folders/123456789"

parent_id には組織、フォルダ、またはプロジェクトの ID を指定します。形式は以下の通りです。

リソース 形式
組織 organizations/123456789
フォルダ folders/123456789
プロジェクト projects/project-id

Google Cloud への設定であることを示すため providers.tf も記述しておきます。

providers.tf
provider "google" {
  user_project_override = true
  billing_project       = "PROJECT_ID"
}

provider "google-beta" {
  user_project_override = true
  billing_project       = "PROJECT_ID"
}

既存環境への適用時の注意

公式 README にも記載されていますが、既存のリソースが存在する環境に組織ポリシーを適用する場合は注意が必要です。以下の方法でリスクを軽減できます。

  • Policy Simulator で組織ポリシーの変更をテスト
  • ドライランモード でポリシーを作成して影響を事前確認
  • Policy Simulator やドライランに対応していないレガシーポリシーは、重要度の低いプロジェクトやフォルダから段階的に適用

Terraform の実行

$ terraform init
$ terraform plan
$ terraform apply

terraform plan で適用される組織ポリシーの一覧を確認し、問題がなければ terraform apply で適用します。

適用後に組織ポリシーを確認すると対象のポリシーがアクティブになっています。

スクリーンショット 2026-03-17 14.05.23

新規の組織であれば、リソースを作成する前にポリシーを適用することで、ガードレールとして機能させることができます。

さいごに

Google Cloud が推奨セキュリティチェックリスト(GCMVSP)を公開しました。

クラウドセキュリティにおいて「何から始めればよいか」は多くの組織が抱える課題ですが、このチェックリストはその疑問に対する明確な回答を提供しています。60 のコントロールが 3 段階のレベルに分類されているため、組織の成熟度に合わせて段階的に実装を進められる点が実用的です。

チェックリストだけでなく Terraform コードが GitHub でサンプルコードが提供されているので、必要なコントロールを IaC で組織に適用可能になり、すぐにインフラにコードとして適用できるため、セキュリティ対策の実装スピードが大幅に向上します。

State of Cloud Security Research では、約 80% の組織が過去 1 年間にクラウド環境でセキュリティインシデントを経験し、49% が 20 以上のセキュリティツールを使っているという結果が出ています。ツールの乱立による複雑さが課題になっている中で、CSP 自身が提供する体系的なチェックリストは、セキュリティの出発点として非常に心強いものだと思います。

Google Cloud を利用されている方は、まず ベーシックレベルのコントロールから確認してみてはいかがでしょうか。

この記事をシェアする

FacebookHatena blogX

関連記事