ページ内ナビ
概要
Apache CasbinはGo applicationへauthorizationを組み込むaccess-control libraryです。ACL、RBAC、ABAC、domain/tenant付きRBAC、RESTful path、deny-override、priority等をmodelとpolicyとして定義し、application codeからenforcerで判定できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
ACL・RBAC・ABACなど複数のaccess-control modelを同じenforcerで扱う
model CONFでrequest、policy、role、effect、matcherを定義し、ACL、RBAC、ABAC、tenant/domain付きrole等をapplication要件に合わせて構成できます。
出典:[2]
policy persistenceとrole managerをadapterとして分離する
policyはfileやdatabase等のadapterへ永続化でき、role hierarchyや複数node間のpolicy consistencyも周辺componentで拡張できます。authorization ruleをbusiness codeから分離しやすい設計です。
出典:[2]
向いている用途
APIや業務systemでpermission policyをcode条件分岐から切り離したい場合に向く
role、resource、action、tenant、attributeを使うauthorizationを統一し、permission変更をpolicyとして管理したいbackendに適します。
出典:[2]
導入前の確認
v3.11.0のgo.modはGo 1.13。repoはapache/casbinへ移管済みだがmodule pathはcasbin/casbin/v3
v3.11.0のgo.modはgithub.com/casbin/casbin/v3・Go 1.13を宣言します。GitHub repositoryはApacheへ移管されています。releaseではpolicy order保持、conditional role manager、non-ASCII literal等の修正が含まれるため、policy serializationとrole判定をupgrade testしてください。
参考にした公式資料
- [1]apache/casbin — GitHub repository(2026-10-06)
- [2]Apache Casbin v3.11.0 — README(2026-10-06)
- [3]Apache Casbin v3.11.0 — go.mod(2026-10-06)
- [4]Apache Casbin v3.11.0 release(2026-10-06)
- [5]Apache Casbin Apache-2.0 license(2026-10-06)
編集部からの補足
認証ではなく「誰が何へアクセスできるか」をpolicyとして分離するauthorization libraryです。現在のGitHub repositoryはapache/casbinですが、v3.11.0のGo module pathはgithub.com/casbin/casbin/v3のままなので、repository URLとimport pathを混同しないでください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/apache/casbin.git - 2
リポジトリへ移動
cd casbin - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
20,433 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 6
- Open PR
- 2
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- casbin
- access-control
- authorization
- rbac
- abac
- acl
- auth
- authz
- permission
- authentication
- authn
- iam
- Stars
- 20,433
- Forks
- 1,761
- Watchers
- 238
- Open Issues
- 37
- Contributors
- 155
- 所有者種別
- Organization
- 主要言語
- Go
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- golang-jwt9,229 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
JWTの生成・署名・parse・claims validationを行うGo implementation
Go - imgproxy11,109 Stars
共通タグ 3件 · 同じ言語
applicationのimage processingを独立HTTP serviceへoffloadする
Go - Hanko9,034 Stars
共通タグ 3件 · 同じ言語
PasskeysからSSOまでを扱いnative multi-tenancyを備えるAPI-first認証基盤
Go - mkcert59,718 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
localhostや開発用domain向けにローカルCAを作成し、ブラウザから信頼されるTLS証明書を簡単に発行する
Go - Gitleaks29,723 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
Git history・files・stdinからAPI keyやpassword等のsecretを検出するsecret scanning CLI
Go - Grype12,979 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
container image・filesystem・SBOMを脆弱性DBと照合し、EPSS・KEV・VEXを使って修正優先度を絞る
Go
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。