変更要約: Professional Cloud DevOps Engineer 第2章を新規作成(ドメイン2「CI/CD」: Cloud Build(CI)/Cloud Deploy(CD・Skaffold/Kustomize)/Artifact Registry/トリガー/承認フロー、デプロイ戦略=カナリア/ブルー・グリーン/ローリング/トラフィック分割/フィーチャーフラグ+テレメトリ成功メトリクス、Cloud Audit Logs/Cloud KMS/Secret Manager/Workload Identity Federation、Artifact Analysis/Binary Authorization/SLSA/環境別 IAM)。
2.2デプロイパイプラインのセキュリティとシークレット管理
デプロイの監査/追跡(Artifact Registry・Cloud Build・Cloud Deploy・Cloud Audit Logs)、鍵管理(Cloud KMS)、シークレット管理(Secret Manager・Workload Identity Federation)とビルド時/実行時の注入、Artifact Analysis と脆弱性スキャン、ソフトウェアサプライチェーンのセキュリティ(Binary Authorization・SLSA)、環境ごとの IAM ポリシーを理解します。
パイプライン自体が攻撃対象になり得ます。何を・誰が・どこへデプロイしたかを追跡し、シークレットを安全に扱い、信頼できる成果物だけを本番に到達させます。
2.2.1監査・鍵・シークレット管理
デプロイは Cloud Audit Logs と Artifact Registry/Cloud Build/Cloud Deploy の記録で 監査/追跡 します。暗号鍵は Cloud KMS(CMEK)で管理し、API キー/パスワードなどのシークレットは Secret Manager に保管します。CI/CD から外部やオンプレの ID 連携が要る場合は Workload Identity Federation で鍵を持たずに認証します。シークレットは ビルド時注入(イメージに焼かない)と 実行時注入 を使い分け、コードへのハードコードを避けます。「秘密情報の保管=Secret Manager」「鍵管理=Cloud KMS」を結びます。
2.2.2脆弱性スキャンとサプライチェーンセキュリティ
イメージは Artifact Analysis で 脆弱性スキャン し、既知の脆弱性を検出します。本番に到達できるのは検証済みの成果物だけにするため、Binary Authorization で「署名/証明(アテステーション)のあるイメージのみデプロイ可」を強制します。サプライチェーン全体の堅牢性は SLSA フレームワークの水準で評価・改善します。アクセスは 環境ごとの IAM ポリシー(本番の権限を絞る)で分離します。「未検証イメージを止める=Binary Authorization」「脆弱性検出=Artifact Analysis」を押さえます。
「要件 → 手段」が頻出。例:「誰が何をデプロイしたか追跡」=Cloud Audit Logs、「秘密情報を安全に保管」=Secret Manager、「鍵を顧客管理」=Cloud KMS、「鍵なしで外部 ID 連携」=Workload Identity Federation、「脆弱性をスキャン」=Artifact Analysis、「署名済みイメージのみ本番へ」=Binary Authorization、「サプライチェーンの水準」=SLSA。
混同に注意:
①シークレットをイメージや Git に焼き込まない=Secret Manager+実行時注入。
②Binary Authorization(デプロイ可否の強制)と Artifact Analysis(脆弱性検出)は役割が別。
③本番と非本番は環境ごとに IAM を分離する。
2.2.3この節のまとめ
- デプロイは Cloud Audit Logs で監査、鍵=Cloud KMS、秘密情報=Secret Manager、外部 ID=Workload Identity Federation
- Artifact Analysis で脆弱性スキャン、Binary Authorization で署名済みのみ本番へ、SLSA で水準評価
- シークレットはビルド時/実行時注入で扱いハードコードしない、環境ごとに IAM を分離
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. API キーやパスワードなどのシークレットを安全に保管し、実行時に取得したい。最適なのはどれですか?
Q2. 署名/証明(アテステーション)のある検証済みコンテナイメージだけを本番にデプロイ可能にしたい。最適なのはどれですか?
Q3. コンテナイメージの既知の脆弱性を検出したい。最適なのはどれですか?
Q4. 誰がいつどの環境へデプロイしたかを後から追跡したい。最適なのはどれですか?
Q5. CI/CD から鍵ファイルを配布せずに外部/オンプレの ID で Google Cloud を認証したい。最適なのはどれですか?
Q6. ソフトウェアサプライチェーンの堅牢性を段階的な水準で評価・改善したい。参照するフレームワークはどれですか?

