Repolode
open-policy-agent

open-policy-agent/opa

Regoで認可やコンプライアンスのルールを記述し、サービスやKubernetesなどから評価できる汎用ポリシーエンジンです。

スター
12,442
フォーク
1,710
未解決の Issue
266
最終コミット
昨日

これは何?

Open Policy Agent (OPA) は汎用ポリシーエンジンです。サービスごとに認可やコンプライアンスのロジックをハードコードする代わりに、OPAの宣言型言語であるRegoでルールを記述し、サービスからクエリを実行してOPAに判定を問い合わせます。OPAは提供されたデータに照らしてルールを評価し、結果を返します。呼び出し元のサービスは、その結果に基づいて処理を実行します。

OPAはCloud Native Computing Foundationの卒業プロジェクトです。スタンドアロンのCLIまたはサーバーとして実行でき、コンテナイメージやバイナリとして配布できるほか、Go SDKや低レベルのGo APIを通じてGoサービスに組み込めます。他の言語からはREST API経由で連携できます。

Kubernetes、Terraform、Docker、SSHなどのシステムとの連携方法がドキュメントに記載されています。エディター向けには、リアルタイム診断、デバッグ、フォーマット機能を備えたVS Code拡張機能が用意されています。

主な機能

  • 01宣言型言語のRegoで、ルールやクエリを記述できます。
  • 02スタンドアロンのCLIまたはサーバーとして実行でき、SDKを使ってGoアプリケーションに組み込むこともできます。
  • 03REST APIを提供しており、あらゆる言語のサービスからポリシー判定を要求できます。
  • 04リアルタイム診断、デバッグ、フォーマット機能を備えたVS Code拡張機能を提供します。
  • 05コンテナイメージとバイナリとして配布されています。

ユースケース

  • API認可を適用し、ユーザーがリソースに対する操作を呼び出せるかどうかをサービスが判定する。
  • Kubernetesリソースの作成前に、Admissionポリシーに照らして検証する。
  • Terraformのプランなどのインフラ定義を、コンプライアンスルールに照らして確認する。
  • 多数のマイクロサービス間でアクセス制御の判定を一元化する。

クイックスタート

  1. 1

    GitHubのリリースまたはDocker Hubから、OPAのバイナリまたはコンテナイメージをダウンロードします

  2. 2

    公式ドキュメントの「Running OPA」の手順に従って、ローカルでOPA CLIを起動します

使う前に知っておきたいこと

  • ポリシーを記述するには、Rego言語を習得する必要があります。

収録されている特集

トピック

よくある質問

opa とは?
Regoで認可やコンプライアンスのルールを記述し、サービスやKubernetesなどから評価できる汎用ポリシーエンジンです。 Open Policy Agent (OPA) は汎用ポリシーエンジンです。サービスごとに認可やコンプライアンスのロジックをハードコードする代わりに、OPAの宣言型言語であるRegoでルールを記述し、サービスからクエリを実行してOPAに判定を問い合わせます。OPAは提供されたデータに照らしてルールを評価し、結果を返します。呼び出し元のサービスは、その結果に基づいて処理を実行します。
opa は無料で使えますか?ライセンスは?
opa は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
opa は今もメンテナンスされていますか?
活発にメンテナンス中。opa の最終コミットは 2026年11月6日 です。
opa は何に使えますか?
API認可を適用し、ユーザーがリソースに対する操作を呼び出せるかどうかをサービスが判定する。 Kubernetesリソースの作成前に、Admissionポリシーに照らして検証する。 Terraformのプランなどのインフラ定義を、コンプライアンスルールに照らして確認する。 多数のマイクロサービス間でアクセス制御の判定を一元化する。
opa のインストール方法は?
GitHubのリリースまたはDocker Hubから、OPAのバイナリまたはコンテナイメージをダウンロードします 公式ドキュメントの「Running OPA」の手順に従って、ローカルでOPA CLIを起動します
opa はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/open-policy-agent/opa

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト