コンテンツへスキップ
FindOpenSource

OpenFGA

Google Zanzibar にインスパイアされたリレーションシップベースの認可エンジンで、きめ細かなアクセス制御を独立したサービスとしてモデル化・実行できます。

概要

OpenFGA は、リレーションシップベースのアクセス制御に関する Google の Zanzibar 論文にインスパイアされた、高性能な認可・権限エンジンです。認可ロジックをアプリケーションコードに組み込むのではなく、OpenFGA は独立したサービスとして動作し、アプリケーションは HTTP または gRPC API 経由でクエリを送り、定義したリレーションシップモデルに基づいて、あるユーザーがあるリソースに対してある操作を行う権限を持つかどうかを確認します。

複数のストレージバックエンド(インメモリ、PostgreSQL、MySQL、ベータ版の SQLite)をサポートし、Java、Node.js、Go、Python、.NET 向けの公式 SDK を提供するほか、CLI、サーバーをコードとして設定するための Terraform プロバイダー、ブラウザベースで認可ルールをモデル化・テストできる Playground も含まれています。独立したサービスとして実行する代わりに、Go ライブラリとして直接組み込むこともできます。OpenFGA は Auth0、Grafana Labs、Canonical、Docker などの企業で本番環境において利用されています。

認証やよりシンプルなロールベースのアクセス制御ライブラリではなく、きめ細かでリレーションシップベースの認可(例えば、ネストしたグループ、共有ドキュメント、組織レベルの権限など)をクエリ可能なサービスとして必要とするチームに向いています。

カテゴリ
認証・セキュリティ
キーワード
authorizationfine-grained-accesszanzibarpermissionsaccess-control
言語
Go
ライセンス
Apache-2.0

誤りを見つけましたか? GitHub で修正を提案する