
アプリケーションとサービス向けに、ACL、RBAC、ABAC、およびカスタムアクセス制御モデルを強制し、RESTfulなマッチングおよびポリシー管理APIを備えた認可ライブラリ。
ニュース: 正しいApache Casbinポリシーの書き方にまだ悩んでいますか? Apache Casbin online editor が登場しました! https://casbin.apache.org/editor/ でお試しください。

Apache Casbinは、Golangプロジェクト向けの、パワフルで効率的なオープンソースのアクセス制御ライブラリです。さまざまなアクセス制御モデルに基づく認可の强制执行をサポートします。
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
| Casbin | jCasbin | node-Casbin | PHP-Casbin |
| 本番利用可能 | 本番利用可能 | 本番利用可能 | 本番利用可能 |
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
| PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
| 本番利用可能 | 本番利用可能 | 本番利用可能 | 本番利用可能 |
write-article、read-log のような権限を使用して、個別のリソースではなくリソースの種類を対象とするシナリオもあります。特定の記事やログへのアクセスを制御するものではありません。resource.Owner のようなシンタックスシュガーを使用して、リソースの属性を取得できます。/res/*、/res/:id のようなパスと、GET、POST、PUT、DELETE のようなHTTPメソッドをサポートします。Casbinでは、アクセス制御モデルは**PERMメタモデル(Policy、Effect、Request、Matchers)**に基づいてCONFファイルに抽象化されます。したがって、プロジェクトの認可メカニズムの切り替えやアップグレードは、設定を変更するだけの簡単な作業です。利用可能なモデルを組み合わせて、独自のアクセス制御モデルをカスタマイズできます。たとえば、RBACロールとABAC属性を1つのモデルにまとめ、1つのポリシールールセットを共有できます。
Casbinで最も基本的でシンプルなモデルはACLです。ACLのモデルCONFは次のとおりです:
# Request definition
[request_definition]
r = sub, obj, act