Policy-as-Code (PaC) の普及実態:ガバナンスのコード化最新調査レポート
公開日
クラウドネイティブな環境が拡大する現代において、セキュリティやコンプライアンス要件をコードとして定義・自動化する「Policy-as-Code(PaC)」は、安全なシステム運用のための必須要素となりつつあります。手動でのルール適用やハードコーディングされたポリシーからの脱却は、開発スピードとガバナンスの両立を目指す組織にとって避けて通れない課題です。
本記事では、モントリオール理工科大学の研究チームが発表した論文「An Empirical Study of Policy-as-Code Adoption in Open-Source Software Projects」(2026年)に基づき、その実態を解説します。
調査の概要:9つの主要ツールと399のリポジトリを分析
本調査は、GitHub上のオープンソースプロジェクト(OSS)において、PaCツールが実際にどのように使われているかを明らかにするために実施されました。
調査対象として、Open Policy Agent (OPA)、Kyverno、Cloud Custodian、Pulumi、GateKeeperなど、主要な9つのPaCツールが選定されました。研究チームは、関連する拡張子( .rego など)や特定の設定ファイルを含むリポジトリを収集し、サイズやアクティビティによるフィルタリングを行った上で、最終的に399のプロジェクトを分析対象としました。これにより、ツールの普及度だけでなく、具体的な使用目的やプロジェクトの性質まで深く掘り下げた分析が可能となっています。
PaCツールの人気動向:OPAが圧倒的だがKyvernoも健闘
PaCツールの人気を測る指標として、「ポリシーファイルの総数(深さ)」と「採用しているリポジトリ数(広がり)」の2つの側面から分析が行われました。
ファイル数で見るとOPAが市場を独占
ポリシーが記述されたファイルの総数で見ると、Open Policy Agent (OPA) が全体の62%を占め、圧倒的なシェアを誇っています。これは、OPAが汎用的なポリシーエンジンであり、KubernetesやTerraformなど多岐にわたるプラットフォームで利用されていることを示唆しています。次いでKyvernoが16%、GateKeeperが7%と続きます。
図表1:Policy as Code (PaC) ツール使用状況の比較(ファイル数ベース)
プロジェクト採用数では分散傾向が見られる
一方で、少なくとも1つ以上のポリシーファイルを含んでいる「リポジトリの数」に着目すると、景色が変わります。OPAは29%のプロジェクトで採用されていますが、KubernetesネイティブなポリシーエンジンであるKyvernoも21%、IaC(Infrastructure as Code)ツールとしての側面も持つPulumiが20%と、OPAに肉薄しています。
図表2:Policy as Code (PaC) ツール使用状況の比較(リポジトリ数ベース)
どのようなプロジェクトでPaCが採用されているか
PaCツールは、実際にどのような種類のプロジェクトで導入されているのでしょうか。調査の結果、以下のようなカテゴリ分けがなされました。
ドキュメントとツールキットが過半数を占める
興味深いことに、PaCツールを含むリポジトリの最も多く(37%)は、チュートリアルやデモ、使用例を提供する「ドキュメント」カテゴリでした。これは、PaCのエコシステムがまだ成長段階にあり、学習リソースやベストプラクティスの共有が活発に行われていることを示しています。次いで、再利用可能なライブラリやモジュールを提供する「ツールキット」が32%を占めます。
DevOpsでの定着と、MLOpsにおける活用の「萌芽」
実稼働を想定したインフラ自動化を含む「DevOps」プロジェクトは全体の17%でした。これらはリポジトリの規模が大きく、活動も活発である傾向があります。また、わずか1%ではありますが、AI/MLモデルのライフサイクル管理を行う「MLOps」プロジェクトでの採用も確認されました。これは、AIシステムのガバナンス確保に向けた初期の動きとして注目されます。
| カテゴリ | 割合 | プロジェクトの概要 |
|---|---|---|
| Documentation | 37% | チュートリアル、ワークショップ、デモなど、教育や事例紹介を主目的とするプロジェクト。 |
| Toolkit | 32% | 開発を簡素化するためのライブラリ、フレームワーク、API、プラグインなど。 |
| DevOps | 17% | KubernetesやAnsibleなどを活用し、アプリのプロビジョニングやデプロイを自動化するプロジェクト。 |
| Application System | 12% | Webアプリなど、PaCをランタイムでのポリシー適用に組み込んでいるソフトウェアシステム。 |
| MLOps | 1% | AI/MLモデルとDevOpsツールを組み合わせ、学習やデプロイを自動化するプロジェクト。 |
| AI/Research | 0.2% | AI/MLモデルに関わる学術的・実験的なプロジェクト。 |
図表3:プロジェクトカテゴリの分布と概要
PaCの実践的な使用目的:セキュリティとコンプライアンスが中心
開発者は具体的にどのようなポリシーを記述しているのでしょうか。収集されたポリシーファイルを分析した結果、使用目的は主に以下の5つのカテゴリに分類されました。
- セキュリティガバナンス: アクセス制御やネットワーク保護など、システムの安全性を確保するポリシー。
- コンプライアンスガバナンス: 組織の基準や法的要件、ベストプラクティスへの準拠を強制するポリシー。
- デプロイメントガバナンス: 安全かつ監査可能なデプロイ手順(鍵管理や権限確認など)を規定するポリシー。
- ワークフロー自動化: CI/CDパイプライン内での監査トリガーやリソース割り当てを自動化するポリシー。
- コスト最適化: 不要なリソースの削除やクォータ制限など、クラウドコストを抑制するポリシー。
セキュリティガバナンスが最大の関心事
全ポリシーの 65.4% が「セキュリティガバナンス」に関連するものでした。これには、アクセス制御(誰が何にアクセスできるか)、ネットワーク管理(ファイアウォール設定など)、脆弱性管理などが含まれます。特にOPAやKyverno、Pulumiといった主要ツールでは、セキュリティ関連のポリシーが大きな割合を占めています。
コンプライアンスとその他の目的
次に多いのが「コンプライアンスガバナンス」(21.3%)です。これは、組織の標準や法的要件(例:リソースには必ず特定のタグを付ける、命名規則を守るなど)への準拠を強制するものです。一方で、「コスト最適化」を目的としたポリシーは非常に少なく、現状ではPaCの主な導入動機はセキュリティとコンプライアンスの強化にあることが明確です。
図表4:OSSにおけるPaCツールとガバナンスカテゴリのマッピング(バブルのサイズは割合)
図表3を見ると、ツールごとの特性がよく分かります。例えば、KubeWardenはコンプライアンスに特化している一方、Cedarはセキュリティに集中しています。
ツールの併用状況:単独利用が主流、併用ならOPAとGatekeeper
複数のPaCツールを組み合わせて使用することはあるのでしょうか。調査結果は、多くのプロジェクトがシンプルさを求めていることを示唆しています。
85%のプロジェクトは単一ツールのみを使用
分析対象となったリポジトリの 85.24% は、単一のPaCツールのみを採用していました。ツールの導入には学習コストや運用コストがかかるため、まずは1つのツールでガバナンスを実現しようとする傾向が強いと言えます。
OPAを中心としたエコシステムの形成
複数のツールを併用しているケース(約15%)において、プロジェクトの絶対数として最も多く確認された組み合わせはOPAとGateKeeperでした。GateKeeperはOPAをKubernetes環境で使いやすくするためのコントローラーであるため、この併用は自然な結果と言えます。
図表5のヒートマップ上では、Kubewarden利用者におけるKyverno併用率が1.00(100%)を示すなど、より高い相関も見られます。しかし、Kubewarden自体の採用数が極めて少ない(全体の1%未満)ため、実質的なトレンドとしては、多くのプロジェクトで採用されているOPAとGateKeeperの組み合わせ(OPA利用者の約30%が併用)が、エコシステムにおける主要な連携パターンとなっています。
図表5:PaCツールの併用マトリクス
OPAは汎用性が高いため、GateKeeper以外にもCedarやPulumiなど、他の7つのツールとも併用されている事例が確認されました。これは、OPAがポリシーエンジンのデファクトスタンダードとして機能し、他の特化型ツールと共存している現状を表しています。
結論:PaCはセキュリティの要として定着しつつある
今回の調査から、Policy-as-Codeは単なる流行ではなく、現代のソフトウェア開発におけるセキュリティとコンプライアンスを支える基盤技術として定着しつつあることが分かりました。
特にOPAの普及は著しく、セキュリティガバナンスの強化が主要なドライバとなっています。現在はドキュメントやツールキットを通じたエコシステムの構築フェーズにありますが、DevOpsやMLOpsといった実践的な領域での採用も着実に進んでいます。
これからPaCの導入を検討する際は、まず自社の目的が「セキュリティ強化」なのか「コンプライアンス準拠」なのかを明確にし、その目的に強みを持つツールを選定することから始めるのが良いでしょう。
Webサービスや社内のセキュリティにお困りですか? 弊社のサービス は、開発チームが抱える課題を解決し、生産性と幸福度を向上させるための様々なソリューションを提供しています。ぜひお気軽にご相談ください!
参考資料: