【ぽりしーあずこーど】

Policy as Code とは?

💡 「ルールブック」をコードにすれば、全員が同じ審判で戦える
📌 このページのポイント
Policy as Code のフロー 開発者 コードをPush CI/CD パイプライン ポリシーチェック ポリシー エンジン OPA / Sentinel ✓ OK デプロイ承認 ✗ NG ブロック policy.rego Gitで管理・レビュー 変更履歴あり
Policy as Code:ルールをコードで記述し、CI/CDで自動チェックするフロー
ひよこ ひよこ

Policy as Codeって、普通にポリシー文書を作るのと何が違うの?

ペンギン先生 ペンギン先生

文書のポリシーは人が読んで判断するから、見落としや解釈のズレが起きやすいんだよ。Policy as Codeにすると機械が自動でチェックしてくれるので、確実に同じ基準でルールを適用できるんだね

ひよこ ひよこ

どんなルールをコードにするの?

ペンギン先生 ペンギン先生

たとえば「S3バケットは必ず暗号化する」「本番環境へのデプロイレビュー承認が必須」といったルールだよ。これをOPAなどのツール向けの言語で書いておくと、違反した変更を自動で弾いてくれるんだ

ひよこ ひよこ

CI/CDに組み込めるって聞いたけど、どういう流れなの?

ペンギン先生 ペンギン先生

コードをプッシュするとパイプラインがポリシーチェックを実行して、違反があればマージをブロックする流れだよ。セキュリティや法令対応を開発フローの中に埋め込めるのが大きなメリットだね

ひよこ ひよこ

ポリシーのコード自体もGitで管理できるんだね!

ペンギン先生 ペンギン先生

それが一番うれしいところで、ポリシーの変更履歴が残るし、プルリクエストレビューもできるよ。誰がいつルールを変えたかが追跡できるから、コンプライアンス監査にも強いんだ

ひよこ ひよこ

大きな組織ほど効果がありそうだね!

ペンギン先生 ペンギン先生

そうだよ。チームや環境が増えるほど「ポリシーの一貫性を保つコスト」が高くなるから、Policy as Codeで自動化するメリットが大きくなるんだ。DevSecOpsとも深く関係している考え方だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Policy as Code」って出てきたら「ルールをコードで自動チェックする仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Policy as Code」 = ポリシーをコードとして
💬 Infrastructure as Codeの考え方をポリシー管理に応用したものだよ。「as Code」は「コードとして管理する」という意味で、設定や仕様をコード化するトレンドの一部だね
← 用語集にもどる