Open Policy Agent (OPA)
マイクロサービス、API、Kubernetes、CI パイプラインにまたがって、認可・コンプライアンス・設定ルールをコードとして統一的に適用する、CNCF を卒業した汎用ポリシーエンジンです。
概要
Open Policy Agent(OPA)は、ポリシーの判断をアプリケーションコードから切り離す汎用ポリシーエンジンです。ポリシーは、構造化データに対するルールを表現するために作られた宣言的なクエリ言語である Rego で記述され、OPA はそれらのポリシーをリクエストやリソースに照らして評価し、許可/拒否の判断(あるいはより豊富な構造化された出力)を返し、それを呼び出し元のサービスが実施します。
OPA は1つのアプリケーションに組み込まれるライブラリではなく独立したエンジンであるため、サイドカーとして、あるいは非準拠のリソースが作成される前に拒否する Kubernetes のアドミッションコントローラーとして、または CI パイプライン内のポリシーチェックとしてデプロイされるのが一般的です。システムごとにルールを再実装するのではなく、まったく異なる適用ポイントで同じポリシー言語を再利用できます。
OPA は、多数のサービスやスタックのレイヤーにまたがって一貫してポリシーを適用する必要がある、プラットフォームチームやセキュリティチームに向いています。カタログ内の Casbin や OpenFGA とはレイヤーが異なります。それらはアプリケーションが自身のコード内で権限をチェックするために直接組み込む認可ライブラリであるのに対し、OPA はアプリケーションコードを含む多数の異なるシステムが問い合わせる、共有インフラとして稼働するのが一般的です。
- カテゴリ
- DevOps
- 言語
- Go, Rego
- ライセンス
- Apache-2.0
関連プロジェクト
Kyverno
Apache-2.0個別のポリシー言語ではなく、通常の YAML を使ってポリシーを記述・適用できる、Kubernetes ネイティブなポリシーエンジンです。
- DevOps
Ansible
GPL-3.0構成管理、デプロイ、オーケストレーションのための、徹底的にシンプルな IT 自動化プラットフォームです。
- DevOps
Argo CD
Apache-2.0Kubernetes 向けの主要な GitOps 継続的デリバリーツールで、クラスタの状態を Git で定義された内容と自動的に一致させます。
- DevOps
Caddy
Apache-2.0従来の Web サーバー設定に比べてシンプルさを重視して作られた、デフォルトで自動 HTTPS 対応のモダンな Web サーバー兼リバースプロキシです。
- DevOps
誤りを見つけましたか? GitHub で修正を提案する