
前回までで、コンピューティング基盤とデータ層の設計を完了しました。
本回は、これらのレイヤー全てを貫く「ゼロトラスト」セキュリティモデルを実践的に解説します。境界型防御が通用しないハイブリッド環境において、IDを中心としたアクセス制御と、ネットワークセキュリティを統合するSASE(Secure Access Service Edge)の具体的な設計パターンを提示します。
TL;DR — ゼロトラストは、ネットワークではなくIDをセキュリティ境界とみなす原則。SASEは、クラウドとオンプレミス双方のセキュリティ機能を統合・一元管理するアーキテクチャである。
ID中心認証 × コンテキスト検証 × 経路統合(SASE)
→ ゼロトラストをハイブリッド環境に適用する実装パターン簡易チェック: ユーザー、デバイス、ワークロードの全てに「最小権限」と「継続的な検証」を適用できているか。
ゼロトラストの起点:IDaaSとアクセス制御の原則
この節を読めば:クラウドとオンプレミスを跨ぐ一貫した認証・認可基盤の設計が理解できます。
ゼロトラストは「Never Trust, Always Verify(決して信頼せず、常に検証する)」を原則とします。この原則の実行には、すべてのアクセス要求の主体となる**ID(Identity)**の管理が不可欠です。
-
IDaaS(Identity as a Service)の導入
- ユーザーIDだけでなく、GKEのPodやCloud FunctionsなどのワークロードIDも一元管理し、すべてのサービスへのアクセスをIDaaS経由で認証・認可します。
- Google Cloud では、Cloud Identity や Workforce Identity Federation を用いて、オンプレミスの Active Directory や外部の IdP と連携させます。
-
最小権限の原則(Least Privilege)
- ユーザーやワークロードに、職務遂行に必要な最小限の権限のみを付与します。
- IAM Conditions: 属性ベースのアクセス制御(ABAC)を活用し、時間帯、IPアドレス、リソース属性など、複数の条件が満たされた場合にのみアクセスを許可します。
-
継続的な検証(Continuous Verification)
- 最初の認証時だけでなく、セッション中もデバイスの状態(パッチ適用状況、マルウェア有無)やユーザーの振る舞い(アクセスパターン)を継続的に検証します。
IaC実践: IAM Conditionsによるアクセス制御
特定の時間帯、特定のVPC内からのアクセスのみを許可する最小権限の例です。
resource "google_project_iam_member" "conditional_access" {
project = var.project_id
role = "roles/cloudsql.client"
member = "serviceAccount:db-access@${var.project_id}.iam.gserviceaccount.com"
condition {
title = "Access_from_trusted_VPC_only"
description = "Allow DB connection only from the GKE VPC."
expression = <<EOT
request.auth.serviceAccount == "db-access@${var.project_id}.iam.gserviceaccount.com" &&
resource.name.startsWith("projects/${var.project_id}/regions/asia-northeast1/subnetworks/gke-subnet")
EOT
}
}
SASEアーキテクチャの適用と経路設計
この節を読めば:SASEの主要コンポーネントが、ハイブリッド環境のネットワークセキュリティをどう統合するか理解できます。
SASE(Secure Access Service Edge)は、ネットワーク機能とセキュリティ機能(ZTNA, SWG, CASBなど)をクラウドベースで統合するアーキテクチャです。ハイブリッド環境では、SASEを導入することで、どこからアクセスしても一貫したセキュリティポリシーを適用できます。
| SASEコンポーネント | 機能 | ゼロトラストへの貢献 | 適用例 |
|---|---|---|---|
| ZTNA | IDとコンテキストに基づき、アプリケーションへのアクセスを制御(ネットワーク境界を排除) | アクセス制御層 | リモートユーザーからオンプレミスDBへのセキュアなアクセス |
| SWG | Webトラフィックを検査し、マルウェアや不正なコンテンツをブロック | 脅威防御層 | ユーザーがクラウド上のSaaSや外部インターネットにアクセスする際の保護 |
| CASB | クラウドアプリケーション利用状況の可視化と制御 | データ保護層 | 従業員が企業のCloud Storageにアクセスする際のデータ漏洩防止 |
SASE適用時の設計上の考慮点
-
データ経路の全体像(簡易)
- ユーザー → SASE(ZTNA / SWG / CASB) → クラウド / オンプレ
- オンプレ ↔ クラウドは VPN / Interconnect
-
ポリシー一元化: クラウドとオンプレミス双方のセキュリティポリシーをSASEのコントローラで一元管理し、ポリシーの不整合を防ぎます。
マイクロセグメンテーションとVPC Service Controls
この節を読めば:データ漏洩リスクを最小化するための多層防御設計を実践できます。
ハイブリッド環境のネットワークでは、アクセスを許された範囲内での横移動(ラテラルムーブメント)のリスクが存在します。
-
マイクロセグメンテーション(東西トラフィック制御)
- GKE PodやVMなど、個々のワークロード間の通信を最小単位で制御し、攻撃者の横移動を防ぎます。
- Google Cloud では、GKE Network Policy や VPCファイアウォールルールを用いて、サービス間の通信を厳格に制限します。
-
VPC Service Controls (VPC SC) によるデータ境界の確立
- Google Cloud のAPIやマネージドサービス(Cloud Storage, BigQueryなど)の周囲に**セキュリティ境界(ペリメーター)**を定義し、境界外からの不正アクセスやデータ漏洩(エクスフィルトレーション)を防ぎます。
- VPC SCは、特にハイブリッド環境で**「クラウド側のデータが外部へ漏れない」**ことを保証する、最も強力なデータ保護手段です。
最終判断基準(防御層の使い分け)
| 防御目的 | 保護対象 | 適用技術 | 備考 |
|---|---|---|---|
| 水平移動防止(EW) | VM/Pod間の通信 | Network Policy / Firewall | ネットワークレイヤーの東西制御 |
| API・データ境界(N–S) | マネージドサービスAPI | VPC Service Controls | データ漏洩を防止する最外部ペリメーター |
| ID・コンテキスト検証 | ユーザー/ワークロードのアクセス | IDaaS / IAM Conditions | ゼロトラストの起点となる認証・認可 |
IaC実践: VPC SCの境界最小定義(概念)
# VPC Service Controls の境界 (Perimeter) 定義
resource "google_access_context_manager_service_perimeter" "data_perimeter" {
name = "projects/${var.project_number}/servicePerimeters/enterprise_perimeter"
title = "Enterprise Data Perimeter"
perimeter_type = "PERIMETER_TYPE_REGULAR"
status {
# 境界内に含めるプロジェクト
resources = [
"projects/${var.protected_project_id}"
]
# 境界内で保護するサービス
restricted_services = [
"bigquery.googleapis.com",
"storage.googleapis.com"
]
# 境界外からアクセスを許可する(ハイブリッド接続用)
vpc_accessible_services {
enable_restriction = true
allowed_services = ["RESTRICTED-SERVICES"]
}
}
}
補足: VPC SCは、その性質上、テストと計画的な導入が必須です。設定が厳しすぎると、正当なクラウドサービス連携まで遮断されるため注意が必要です。
まとめと次回予告
第5回では、ハイブリッドクラウドにおけるゼロトラストの原則を、IDaaS、SASE、マイクロセグメンテーション、そしてVPC Service Controlsという具体的なアーキテクチャに落とし込みました。
これにより、設計の骨格となる「高セキュリティなアクセス制御」の土台が完成しました。
ハイブリッドクラウド × ゼロトラスト × IaC の実践アーキテクチャ設計