ストーリー
田
田中VPoE
Golden Path設計、テンプレート戦略、ガードレール、Compliance as Code。プラットフォームの品質を支える仕組みを一通り学んだ。CloudOps社の具体的な設計を行ってもらう
あなた
自由と統制のバランスを具体的に設計するんですね
あ
田
田中VPoE
そうだ。CloudOps社の8チーム60名の開発者が、安全かつ迅速にサービスを構築・運用できる仕組みを設計してくれ。過度な制約はイノベーションを殺し、制約なしはカオスを生む
田
田中VPoE
だからデータに基づいて設計する。どのポリシーを「推奨」にし、どれを「強制」にするか。根拠を持って判断してくれ
ミッション概要
| 項目 | 内容 |
|---|
| 演習タイトル | Golden Pathとガードレールの設計 |
| 想定時間 | 90分 |
| 成果物 | Golden Path設計書 + ガードレールポリシー一覧 |
| 対象組織 | CloudOps社(Step 1から継続) |
Mission 1: Golden Pathの設計
要件
CloudOps社のGolden Pathを領域ごとに設計してください。
- 8つの領域(言語、フレームワーク、DB、CI/CD、監視、コンテナ、シークレット、ネットワーク)でGolden PathとOff-Roadを定義する
- 各Golden Pathの採用インセンティブを設計する
- 成功メトリクスと目標値を定義する
解答例
Golden Path定義
| 領域 | Golden Path | Off-Road | ガードレール |
|---|
| 言語 | TypeScript | Python, Go | なし |
| フレームワーク | NestJS(API), Next.js(Web) | Express, FastAPI | なし |
| DB | PostgreSQL(Prisma) + Redis | MySQL, MongoDB(承認制) | 管理外DB接続禁止 |
| CI/CD | GitHub Actions + Argo CD | なし | デプロイは必ずGitOps経由 |
| 監視 | Datadog(標準テンプレート) | カスタム設定 | production SLO必須 |
| コンテナ | 標準ベースイメージ | カスタム(スキャン必須) | rootユーザー禁止 |
| シークレット | Vault | なし | ハードコード禁止 |
| ネットワーク | 自動NetworkPolicy | カスタム(承認制) | デフォルトallow禁止 |
採用インセンティブ
| インセンティブ | 方法 |
|---|
| 速度 | Golden Path使用で新規サービス作成が10分(Off-Roadは3日) |
| 自動化 | CI/CD、監視、セキュリティスキャンが全自動設定 |
| サポート | Golden Path使用サービスはプラットフォームチームが優先サポート |
| スコア | ヘルススコアでGolden Path準拠がボーナスポイント |
成功メトリクス
| メトリクス | 目標値 |
|---|
| Golden Path採用率(新規サービス) | 80%以上 |
| テンプレート利用率 | 75%以上 |
| Time to First Deploy | 30分以内 |
| 開発者満足度(Golden Path) | 4.0/5.0以上 |
Mission 2: ガードレールポリシーの設計
要件
CloudOps社のガードレールポリシーを設計してください。
- 最低10個のポリシーを定義する
- 各ポリシーの強制力(Enforce/Audit/Warn)を決定する
- 代表的なポリシー3つのKyvernoまたはOPA実装を記述する
解答例
ポリシー一覧
| # | ポリシー | カテゴリ | 強制力 | ツール |
|---|
| 1 | rootユーザー禁止 | セキュリティ | Enforce | Kyverno |
| 2 | 承認レジストリのみ | セキュリティ | Enforce | Kyverno |
| 3 | リソースlimits必須 | 運用 | Enforce | Kyverno |
| 4 | ヘルスチェック必須 | 運用 | Enforce | OPA |
| 5 | シークレットはVault経由 | セキュリティ | Enforce | OPA |
| 6 | production 最低2レプリカ | 可用性 | Enforce | OPA |
| 7 | NetworkPolicy必須 | セキュリティ | Enforce | Kyverno |
| 8 | SLO定義必須(production) | 運用 | Enforce | OPA |
| 9 | xlargeリソースは承認制 | コスト | Audit | OPA |
| 10 | 未使用リソース警告 | コスト | Warn | カスタム |
| 11 | 依存ライブラリのCritical脆弱性0件 | セキュリティ | Enforce | Trivy |
| 12 | ラベル必須(team, environment) | 運用 | Enforce | Kyverno |
Kyverno実装例: rootユーザー禁止
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: disallow-root-user
spec:
validationFailureAction: Enforce
rules:
- name: check-runAsNonRoot
match:
any:
- resources:
kinds: ["Pod"]
validate:
message: |
rootユーザーでの実行は禁止です。
修正方法: securityContext.runAsNonRoot: true を設定
参照: https://wiki.cloudops.io/security/non-root
pattern:
spec:
containers:
- securityContext:
runAsNonRoot: true
Mission 3: Compliance as Codeの設計
要件
CloudOps社のCompliance as Code体制を設計してください。
- コンプライアンスダッシュボードの構成を設計する
- Golden Pathによる自動準拠の対応表を作成する
- 監査レポートの自動生成フローを設計する
解答例
コンプライアンスダッシュボード
| ビュー | 指標 | 更新頻度 |
|---|
| エグゼクティブ | 全社準拠率、Critical違反数、トレンド | 日次 |
| チーム | チーム別準拠率、違反Top5、改善提案 | リアルタイム |
| サービス | 個別準拠状況、チェック結果詳細、修正ガイド | リアルタイム |
Golden Pathによる自動準拠
| 要件 | 手動の場合 | Golden Pathの場合 |
|---|
| TLS暗号化 | Ingress設定を手書き | tls: trueで自動 |
| 監査ログ | ロガー設定 | @cloudops/loggerで自動 |
| 脆弱性スキャン | SASTツール設定 | CI/CDテンプレートに組込済 |
| ネットワーク分離 | NetworkPolicy手書き | Application CRDから自動生成 |
| バックアップ | RDS設定を手動 | DBカタログで自動 |
監査レポート自動生成フロー
- 日次: 全ポリシーの自動チェック結果を収集
- 週次: 違反サマリーをSlackで通知
- 月次: コンプライアンスレポートをPDFで自動生成
- 四半期: 監査用エビデンスパッケージを自動生成
達成度チェック
| 観点 | 達成基準 |
|---|
| Golden Path | 8領域でGolden Path/Off-Road/ガードレールが定義されている |
| ガードレール | 10個以上のポリシーが定義され、実装例がある |
| Compliance as Code | ダッシュボード、自動準拠、監査レポートが設計されている |
| バランス | 自由と統制のバランスが根拠に基づいて設計されている |
| UX | エラーメッセージに「理由」と「修正方法」が含まれている |
推定所要時間: 90分