Google Cloud Professional Cloud Security Engineer 試験対策｜9つのベストプラクティスまとめ【GCPセキュリティ設計】

Google Cloud Professional Security Engineer 試験を受けた際の備忘録です。

## **1. クラウドインフラのセキュリティ設計**

### **ユースケース: 安全なクラウドインフラの設計と管理**

- **ベストプラクティス**:
    - **VPCとサブネットの分割**: 外部公開用と内部用にネットワークを明確に分離。
    - **Private Google Accessの活用**: GCPサービスへの通信を内部ネットワークから完結。
    - **Firewallルールの最小化と監視**: 必要最小限のポートのみ開放し、ロギングを有効化。
    - **組織ポリシーの適用**:
        - 例: `"constraints/compute.vmExternalIpAccess"` で外部IPを禁止。
        - `"constraints/compute.requireOsLogin"` でOSログイン制御を強制。

---

## **2. アクセス管理と認証**

### **ユースケース: ユーザーやサービスのアクセス権限の適正化**

- **ベストプラクティス**:
    - **IAMの最小特権設計**: Roleの粒度に注意し、不要な権限を排除。
    - **一時的なアクセス権の導入**: Cloud IdentityやGCDSを通じて期限付きアクセス。
    - **アクセス制御の階層化**: Resource Managerで組織 > フォルダ > プロジェクトの構成を活用。
    - **IAM Conditionsの活用**:
        - IP制限・時間帯制限・リクエスト元などで柔軟に制御。
    - **マルチファクター認証（MFA）**: 管理者・権限者にはMFAを強制。

---

## **3. サービスアカウントとワークロードアイデンティティ**

### **ユースケース: サービス間通信とセキュアな非人間ユーザーの扱い**

- **ベストプラクティス**:
    - **最小権限のサービスアカウント割り当て**。
    - **外部キーの利用を禁止**し、Workload Identity Federationに移行。
    - **短期資格情報（STS）** の利用で、永続的な鍵の廃止。
    - **IAMロールの制限とローテーション監視**。

---

## **4. データの暗号化と鍵管理**

### **ユースケース: データの機密性確保と鍵の統制**

- **ベストプラクティス**:
    - **自動暗号化の理解**: GCPはデフォルトで静止・転送中データを暗号化。
    - **Cloud KMSの利用**: 鍵の生成、管理、ローテーションの自動化。
    - **Customer-Managed Encryption Key (CMEK)** や **Customer-Supplied Encryption Key (CSEK)** を活用。
    - **Cloud HSMとの連携**で物理HSMでの鍵管理も可能。
    - **DLPの導入**: Cloud DLPを使い、BigQueryやStorageにおけるPII検出とマスキング。

---

## **5. 監査・ログ・監視体制の強化**

### **ユースケース: クラウド環境の可視性と証跡管理**

- **ベストプラクティス**:
    - **Cloud Audit Logs** で管理者・APIアクティビティの追跡。
    - **Cloud Logging / Monitoring** でアラートと可視化を構築。
    - **Security Command Centerの活用**: スコープ全体の脅威検出とリスクアセスメント。
    - **ログの保存ポリシーと監査証跡確保**。

---

## **6. コンプライアンスとポリシー対応**

### **ユースケース: 法規制・ガイドラインへの対応**

- **ベストプラクティス**:
    - **ISO 27001 / GDPR / HIPAA準拠の確認**: 各サービスの認証取得状況を確認。
    - **Security & Compliance Center**: 各種コンプライアンスレポートの取得と共有。
    - **組織ポリシーで制限を強制**: 特定リージョンへの制限など。
    - **Cloud Asset Inventory** との連携で、構成の監査・可視化。

---

## **7. インシデント対応とリカバリー**

### **ユースケース: セキュリティインシデント発生時の初動対応と回復**

- **ベストプラクティス**:
    - **インシデントレスポンス計画の作成**: 手順を文書化し、定期的に演習。
    - **Cloud Backup + Nearline/Coldline** を活用した自動バックアップ設計。
    - **フォレンジックのためのログ保全**: Cloud LoggingとCommand Centerのデータ保持。

---

## **8. セキュリティ教育とガバナンス文化の浸透**

### **ユースケース: 人的リスクへの対応と継続的改善**

- **ベストプラクティス**:
    - **Google Cloud Trainingを活用**した定期的なセキュリティ研修。
    - **ポリシーの明文化と徹底**: 利用規約・アクセス規定・ログ取得方針。
    - **模擬フィッシングテストなどによる啓発活動**。
    - **セキュリティチャンピオン制度の導入**も有効。

---

## **9. Infrastructure as Code (IaC)とPolicy as Codeの実践**

### **ユースケース: セキュリティ構成の再現性・監査性の確保**

- **ベストプラクティス**:
    - **TerraformやDeployment Manager** によるセキュリティ設定のコード管理。
    - **OPA/Gatekeeper** によるPolicy as Codeの導入。
    - **CI/CDパイプラインにセキュリティチェックを組み込み**。

---

## **まとめ：セキュリティ強化の7つの観点**

| 観点 | 主な対策例 |
| --- | --- |
| ネットワーク | VPC分割 / Private Google Access / 組織ポリシー |
| アクセス制御 | IAM / Conditions / サービスアカウント制御 |
| データ保護 | 暗号化 / KMS / DLP |
| ログ・可視化 | Audit Logs / Monitoring / SCC |
| コンプライアンス | Security & Compliance Center / Asset Inventory |
| インシデント対応 | 計画 / 自動バックアップ / フォレンジック |
| 教育・ガバナンス | トレーニング / ポリシー / フィッシング対策 |