Open Policy Agent
公式サイト1. サービス概要
Open Policy Agent(OPA、オーパ)は、Cloud Native Computing Foundation(CNCF)のGraduatedプロジェクトとして管理されるオープンソースの汎用ポリシーエンジンである。Kubernetesのアドミッションコントロール、APIゲートウェイの認可、マイクロサービス間のアクセス制御、インフラのコンプライアンスチェックなど、あらゆるレイヤーで統一的なポリシー管理を実現する。
OPAの中核は、Rego(レゴ)と呼ばれる宣言型のポリシー記述言語である。Regoを用いることで、「誰が何にアクセスできるか」「どのリソース構成が許容されるか」といったポリシーをコードとして定義・管理(Policy as Code)できる。OPAはサイドカーまたはライブラリとしてアプリケーションに組み込まれ、JSONベースの入力に対してポリシー判定を高速に実行する。商用サポートおよびエンタープライズ向けポリシー管理プラットフォームは、OPAの開発元であるStyra社が「Styra DAS(Declarative Authorization Service)」として提供している。
2. 使用している技術スタック
- ポリシー言語: Rego(OPA独自の宣言型ポリシー言語)。Datalog系の論理プログラミングに基づく
- コアエンジン: Go言語で実装。高速なポリシー評価エンジンを提供
- デプロイメントモデル: サイドカー(デーモン)、Goライブラリ、WebAssembly(Wasm)コンパイルに対応
- Kubernetes統合: OPA Gatekeeper(Kubernetesアドミッションコントローラ)としてCRD(Custom Resource Definition)ベースのポリシー管理を実現
- バンドル機構: ポリシーとデータをバンドルとしてHTTPサーバーから配信・同期
- 決定ログ: ポリシー判定の結果を監査用にログ出力
- 入出力: JSON形式の入力データに対してJSONでポリシー判定結果を返却
- ライセンス: Apache License 2.0
3. 会社概要
| 項目 | 内容 |
|---|---|
| プロジェクト名 | Open Policy Agent (OPA) |
| 管理団体 | Cloud Native Computing Foundation (CNCF) - Graduatedプロジェクト |
| 開発元 | Styra, Inc.(商用サポート提供) |
| 設立年 | 2016年(OPAプロジェクト開始) |
| Styra本社所在地 | 米国カリフォルニア州レッドウッドシティ |
| 主な用途 | Kubernetesアドミッションコントロール、APIアクセス制御、マイクロサービス認可、インフラコンプライアンス |
| 利用企業例 | Netflix、Goldman Sachs、Atlassian、Pinterest、Intuit、Cloudflare等 |
| ウェブサイト | https://www.openpolicyagent.org / https://www.styra.com |
4. 沿革、資本構成、国籍、役員情報
沿革
- 2016年: Styra社のTim Hinrichs(共同創業者)とTorin Sandall(共同創業者)によりOPAプロジェクトが開始。クラウドネイティブ環境における統一的なポリシーエンジンを目指して開発
- 2018年: CNCFのSandboxプロジェクトとしてホスティングを開始。Kubernetesエコシステムとの統合が進む
- 2019年: OPA Gatekeeper v3がリリースされ、KubernetesアドミッションコントロールのデファクトスタンダードとしてCNCFのIncubatingプロジェクトに昇格
- 2021年: CNCFのGraduatedプロジェクトに昇格。エンタープライズでの採用が急拡大
- 2022年以降: WebAssembly対応の強化、性能最適化、エコシステムの拡大が継続
資本構成(Styra社)
- Styra累計資金調達額: 約6,000万ドル以上
- 主要投資家: Battery Ventures、Unusual Ventures、A.Capital、Accel等
- ビジネスモデル: OPA自体はオープンソース(Apache 2.0)。Styra DAS(商用ポリシー管理プラットフォーム)で収益化
国籍
- OPAプロジェクト: CNCF管理のオープンソースプロジェクト(Linux Foundation傘下)
- Styra: 米国(デラウェア州法人)
役員情報(Styra社)
| 役職 | 氏名 | 経歴 |
|---|---|---|
| 共同創業者・CTO | Tim Hinrichs | VMware、Niciraでの経験を持つ。宣言型言語とポリシーエンジンの研究者としても知られ、OPAのRegoポリシー言語を設計 |
| 共同創業者 | Torin Sandall | OPAのリードメンテナ兼アーキテクト。Goによるポリシーエンジンのコア実装を主導 |
