VPC / Cloud NGFW / Cloud Armor / IAP / Secure Web Proxy / VPC Service Controls / Private Service Connect / HA VPN / Cloud Interconnect / Private Google Access の各サービスを、公式仕様・SLA・典型構成・落とし穴まで深掘り。
「IAM だけでは防げない」攻撃面を 層別の機能 で塞ぐのが PCSE の設計原則。試験では どの層の問題か を即時判別できる必要がある。
GCP の VPC は グローバル な仮想ネットワーク。Subnet はリージョナル、ルーティングは VPC 全体で完結(インスタンス間は Subnet をまたいでも単一 routing fabric)。
10.128.0.0/9 から自動割当| 観点 | VPC Peering | Shared VPC | Private Service Connect |
|---|---|---|---|
| 役割 | VPC 間 1:1 接続 | 1 つの VPC を複数 Project で共有 | サービス公開 / 消費 |
| ガバナンス | フラット(各 VPC 独立) | host project 集中 | Producer / Consumer 分離 |
| 推移的接続 | ×(A↔B + B↔C で A↔C は不可) | ◯(host VPC で完結) | n/a(エンドポイント単位) |
| IP 重複 | 許容しない | 許容しない | 許容(NAT 機構あり) |
| クォータ | VPC 1 つあたり最大 25 peering | host project 数の上限あり | per-service service attachment |
| 典型ユースケース | パートナーや別組織 | 同一組織内のアプリチーム複数 | SaaS 提供 / 内部 IP API 化 |
roles/compute.networkAdmin)と Security Admin(roles/compute.securityAdmin)を分離compute.networkUser を Subnet 単位 で付与従来の VPC Firewall Rules の後継・拡張。Standard / Enterprise の 2 Tier。公式 Cloud NGFW
# Web tier の SA から App tier の SA への 8080 番のみ許可
gcloud compute firewall-rules create allow-web-to-app \
--direction=INGRESS --priority=1000 --network=prod-vpc \
--action=ALLOW --rules=tcp:8080 \
--source-service-accounts=web-tier@PROJECT.iam.gserviceaccount.com \
--target-service-accounts=app-tier@PROJECT.iam.gserviceaccount.com
組織 / フォルダレベルで強制する FW ポリシー。配下プロジェクトでオーバーライド不可(goto_next で次レベルに委譲)。公式
35.191.0.0/16 / 130.211.0.0/22)の Allow ベースラインVPN・踏み台を なし にして、Google アイデンティティで Web/SSH/RDP にアクセスさせる。公式概要
roles/iap.httpsResourceAccessorx-goog-iap-jwt-assertion でバックエンドに ID 伝搬gcloud compute ssh --tunnel-through-iaproles/iap.tunnelResourceAccessorIAP + Access Context Manager の Access Level で、「日本国内 / 企業端末 / 業務時間内」のみ許可するゼロトラスト構成が可能。
gcloud compute ssh INSTANCE_NAME \
--zone=ZONE \
--tunnel-through-iap
# IAP TCP の前提:
# - VM がプライベート IP のみでも OK
# - 35.235.240.0/20 からの ingress を 22 番に許可しておく
L7 WAF / DDoS / 地理ブロック / Bot Management。Standard / Plus / Enterprise の 3 Tier。公式
| 機能 | Standard | Plus | Enterprise |
|---|---|---|---|
| Preconfigured WAF(OWASP) | ✓ | ✓ | ✓ |
| カスタムルール(CEL) | ✓ | ✓ | ✓ |
| Rate-based rules | ✓ | ✓ | ✓ |
| Geo / IP リスト | ✓ | ✓ | ✓ |
| Adaptive Protection (ML) | ― | ✓ | ✓ |
| Bot Management | ― | ✓ | ✓ |
| reCAPTCHA Enterprise 統合 | ― | ✓ | ✓ |
| 専任サポート / DDoS 保証 | ― | ― | ✓ |
sqli-v33-stable:SQL Injectionxss-v33-stable:XSSlfi-v33-stable:Local File Inclusionrfi-v33-stable:Remote File Inclusioncve-canary:log4shell など最新 CVE 対応# Rule 1: 中国とロシアからのアクセスをブロック
expression: origin.region_code == "CN" || origin.region_code == "RU"
action: deny(403)
priority: 1000
# Rule 2: /login への過剰リクエストを Throttle
expression: request.path.matches("/login")
action: throttle
rate_limit_options:
rate_limit_threshold: { count: 10, interval_sec: 60 }
exceed_action: deny(429)
enforce_on_key: IP
priority: 1100
egress 通信を ID + URL ベースでフィルタするマネージドプロキシ。公式
github.com, pypi.org 等)"サービス境界(Service Perimeter)" を作って API 単位の egress を防ぐ最終防衛線。IAM とは独立した別レイヤ。公式概要
保護対象 Project と保護対象サービスを宣言する箱。1 つの Project は 1 perimeter にのみ所属可能。
境界に 明示的にリストアップ した API のみ保護対象。デフォルトでは何も保護されない(落とし穴)。
境界外 → 境界内の例外。identityType + sources + operations で許可される境界突破を細かく定義。
境界内 → 境界外の例外。例:公開 BigQuery 一般公開データセットへの参照を許可。
本番影響なしで違反を可視化 できる検証モード。dryRunPolicy を構成し、Policy Denied Audit Log でブロック候補を確認 → 例外 Rule を整備してから enforce。
name: "accessPolicies/POLICY/servicePerimeters/prod-data-perimeter"
title: "Prod data perimeter"
status:
resources: ["projects/123", "projects/456"]
restrictedServices:
- "bigquery.googleapis.com"
- "storage.googleapis.com"
- "aiplatform.googleapis.com"
accessLevels:
- "accessPolicies/POLICY/accessLevels/corp_device_jp"
ingressPolicies:
- ingressFrom:
identities: ["serviceAccount:audit-reader@audit-PROJECT.iam.gserviceaccount.com"]
sources:
- accessLevel: "accessPolicies/POLICY/accessLevels/audit_partner_ip"
ingressTo:
resources: ["projects/123"]
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "google.cloud.bigquery.v2.JobService.GetQueryResults"
プライベート IP で サービス公開 / 消費 する仕組み。VPC Peering の代替・補完。公式
Producer が内部 L4 LB を Service Attachment として公開、Consumer の VPC で PSC Endpoint として消費。SaaS 提供の標準。
*.p.googleapis.com エンドポイントを VPC 内 IP 化。Private Google Access の高度版。
オンプレ⇔Google API のプライベート消費。グローバルアクセスを VPC SC と連携。
# Cloud DNS Private Zone で *.googleapis.com を private VIP に向ける
zone: googleapis.com
record: googleapis.com. CNAME private.googleapis.com.
*.googleapis.com. CNAME private.googleapis.com.
private.googleapis.com. A 199.36.153.8
A 199.36.153.9
A 199.36.153.10
A 199.36.153.11
# オンプレ DNS から Cloud DNS への Forward を設定(HA VPN / IC 経由)
| 接続方式 | 暗号化 | レイヤ | メモ |
|---|---|---|---|
| HA VPN | IPSec(AES-256-GCM) | L3 | 既定で暗号化、設定不要 |
| Dedicated Interconnect | なし(オプション MACsec) | L2 | 物理セキュリティ + MACsec または HA VPN over IC |
| Partner Interconnect | なし(HA VPN over IC 推奨) | ― | パートナー責任範囲を確認 |
| Cross-Cloud Interconnect | なし(同上) | ― | 他クラウドへの直接接続 |
外部 IP を持たない VM の egress を可能にする マネージド NAT。受信は不可(egress 専用)。
nat.googleapis.com/port_usage_factor を 80% 閾値でアラートマネージドプライベート PKI。内部サービス間の mTLS / Cloud NGFW Enterprise の TLS Inspection に活用。公式