LESSON 30分

ストーリー

田中VPoE
ガードレールの実装を学んだ。最後に「Compliance as Code」だ。コンプライアンス要件をコードとして定義し、自動的に準拠状況をチェックする
あなた
Month 4のセキュリティパイプラインでも少し触れましたね
田中VPoE
そうだ。今回はプラットフォームの文脈で、よりシステマティックに実装する。プラットフォームのガードレールとコンプライアンスチェックを統合し、「コンプライアンスに準拠した状態がデフォルト」になるよう設計する
あなた
開発者がコンプライアンスを意識しなくても、プラットフォームが自動的に準拠させるということですか
田中VPoE
その通り。「コンプライアンス対応のための特別な作業」をゼロにする。Golden Pathに沿っていれば自動的にコンプライアンスに準拠する。これがPlatform Engineeringにおけるコンプライアンスの理想形だ

Compliance as Codeのアーキテクチャ

全体構成

Compliance as Code の構成:

1. ポリシー定義(Git管理)
   ├── security-policies/     # セキュリティポリシー
   ├── cost-policies/          # コスト管理ポリシー
   ├── operational-policies/   # 運用ポリシー
   └── compliance-mappings/    # 規制へのマッピング

2. ポリシーエンジン
   ├── OPA(Open Policy Agent)    # 汎用ポリシーエンジン
   ├── Kyverno                      # Kubernetes Admission
   ├── Checkov                      # IaCスキャン
   └── Semgrep                      # コードセキュリティ

3. 実行ポイント
   ├── CI/CDパイプライン            # PR時、ビルド時
   ├── Kubernetes Admission         # デプロイ時
   ├── 定期スキャン                  # 日次、週次
   └── リアルタイム監視              # 稼働中

4. レポーティング
   ├── コンプライアンスダッシュボード
   ├── 監査レポート自動生成
   └── 違反通知(Slack、メール)

ポリシーの分類

CloudOps社のポリシーカタログ

カテゴリポリシー強制力チェックツール
セキュリティコンテナはrootで実行しないEnforceKyverno
セキュリティイメージは承認レジストリのみEnforceKyverno
セキュリティシークレットはVault経由のみEnforceOPA
セキュリティTLS 1.2以上を強制EnforceOPA
運用ヘルスチェック必須EnforceOPA
運用リソースlimits必須EnforceKyverno
運用SLO定義必須(production)EnforceOPA
コストxlargeリソースは承認制AuditOPA
コスト未使用リソースの警告Auditカスタムスキャン
命名規則サービス名のフォーマットEnforceOPA

ポリシーのライフサイクル

ポリシーのライフサイクル:

1. Draft(草案)
   ポリシーチームが草案作成

2. Review(レビュー)
   開発者代表を含むレビュー

3. Audit(監査モード)
   違反を検出するが、ブロックしない
   → 影響範囲を確認

4. Enforce(強制モード)
   違反を自動ブロック

5. Monitor(モニタリング)
   定期的な有効性レビュー

コンプライアンスダッシュボード

ダッシュボードの構成

ビュー対象表示内容
エグゼクティブCTO、CISO全社コンプライアンススコア、規制準拠率
チームテックリードチームのポリシー準拠率、違反一覧
サービス開発者個別サービスの準拠状況、修正ガイド

コンプライアンスレポートの自動生成

自動生成レポート:

月次コンプライアンスレポート:
  - 全サービスのポリシー準拠率: 94%
  - 違反件数の推移(前月比 -8件)
  - 新規ポリシーの適用状況
  - 未修正の違反一覧(優先度順)

監査用エビデンス:
  - ポリシー定義(Git履歴)
  - チェック実行ログ(日時、結果、対象)
  - 違反の検出から修正までの履歴
  - 承認フローのログ

プラットフォームによる自動準拠

Golden Pathに組み込まれたコンプライアンス

コンプライアンス要件手動対応の場合Golden Pathの場合
TLS暗号化Ingress設定にTLS設定を手書きApplication CRDでtls: true→ cert-managerが自動発行
監査ログロガーを設定し出力形式を合わせる@cloudops/loggerが自動で監査ログ出力
シークレット管理Vaultの設定を理解し手動設定テンプレートがVault連携を自動設定
脆弱性スキャンSASTツールを選定し設定CI/CDテンプレートにSemgrep組み込み済み
ネットワーク分離NetworkPolicyを手書きApplication CRDからNetworkPolicy自動生成
バックアップRDSのバックアップ設定を手動DBカタログアイテムで自動設定

「最高のコンプライアンスは、開発者がコンプライアンスの存在を意識しないコンプライアンスだ。Golden Pathに沿っていれば自動的に準拠している。これがPlatform Engineeringの真価だ」 — 田中VPoE


まとめ

ポイント内容
Compliance as Codeコンプライアンス要件をコードで定義し自動チェック
ポリシーライフサイクルDraft → Review → Audit → Enforce → Monitor
ダッシュボードエグゼクティブ、チーム、サービスの3ビュー
自動準拠Golden Pathに沿えば自動的にコンプライアンス準拠

チェックリスト

  • Compliance as Codeのアーキテクチャを説明できる
  • ポリシーのライフサイクル管理を理解した
  • コンプライアンスダッシュボードを設計できる
  • Golden Pathによる自動準拠の仕組みを理解した

次のステップへ

次は演習です。CloudOps社のGolden Pathとガードレールを設計しましょう。


推定読了時間: 30分