Open Policy Agent (OPA)
マイクロサービス、API、Kubernetes、CI パイプラインにまたがって、認可・コンプライアンス・設定ルールをコードとして統一的に適用する、CNCF を卒業した汎用ポリシーエンジンです。
- 活発にメンテナンスされている
- 財団の支援あり
- ドキュメントが充実
- 寛容なライセンス
概要
Open Policy Agent(OPA)は、ポリシーの判断をアプリケーションコードから切り離す汎用ポリシーエンジンです。ポリシーは、構造化データに対するルールを表現するために作られた宣言的なクエリ言語である Rego で記述され、OPA はそれらのポリシーをリクエストやリソースに照らして評価し、許可/拒否の判断(あるいはより豊富な構造化された出力)を返し、それを呼び出し元のサービスが実施します。
OPA は1つのアプリケーションに組み込まれるライブラリではなく独立したエンジンであるため、サイドカーとして、あるいは非準拠のリソースが作成される前に拒否する Kubernetes のアドミッションコントローラーとして、または CI パイプライン内のポリシーチェックとしてデプロイされるのが一般的です。システムごとにルールを再実装するのではなく、まったく異なる適用ポイントで同じポリシー言語を再利用できます。
OPA は、多数のサービスやスタックのレイヤーにまたがって一貫してポリシーを適用する必要がある、プラットフォームチームやセキュリティチームに向いています。カタログ内の Casbin や OpenFGA とはレイヤーが異なります。それらはアプリケーションが自身のコード内で権限をチェックするために直接組み込む認可ライブラリであるのに対し、OPA はアプリケーションコードを含む多数の異なるシステムが問い合わせる、共有インフラとして稼働するのが一般的です。
このカタログに掲載されている理由
カタログ評価: ★★★★☆ (4/5)
The standard general-purpose policy engine (Rego), essential representative project for policy-as-code.
- 基盤プロジェクト
- 財団によるガバナンス
- カテゴリ
- DevOps
- 言語
- Go, Rego
- ライセンス
- Apache-2.0
関連プロジェクト
Kyverno
Apache-2.0個別のポリシー言語ではなく、通常の YAML を使ってポリシーを記述・適用できる、Kubernetes ネイティブなポリシーエンジンです。
活発にメンテナンスされている
- DevOps
Cilium
Apache-2.0従来のネットワーキングコンポーネントを、カーネルレベルのパフォーマンスで置き換える、eBPF ベースの Kubernetes ネットワーキング・セキュリティ・オブザーバビリティプラットフォームです。
活発にメンテナンスされている
- DevOps
etcd
Apache-2.0Kubernetes 自身がすべてのクラスタ状態を保存するために使用している、分散型で一貫性のあるキーバリューストアであり、他の分散システムにとっても信頼できる構成要素です。
活発にメンテナンスされている
- DevOps
cert-manager
Apache-2.0TLS 証明書の発行・更新・管理を自動化し、手動での証明書処理を不要にする、Kubernetes アプリケーション向けツールです。
活発にメンテナンスされている
- DevOps
誤りを見つけましたか? GitHub で修正を提案する