IAM(ID・アクセス管理)のOSS比較【2026年版】OpenFGA・Casbin・OPA
オープンソースラボ編集部 ・ 2026年6月13日
「誰が・何に・何をできるか」を管理するIAM(Identity and Access Management)。OSSを使えばAWS IAMやOktaに依存せず、自社アプリのアクセス制御を柔軟に実装できます。
IAMの主なアクセス制御モデル
| モデル | 概要 | 例 |
|---|---|---|
| RBAC | ロールベース | 「管理者」「一般ユーザー」 |
| ABAC | 属性ベース | 「部署=営業AND地域=東京」 |
| ReBAC | 関係性ベース | 「このドキュメントのオーナー」 |
| PBAC | ポリシーベース | JSONポリシーで柔軟定義 |
OSS IAM/認可ライブラリ比較表
| ツール | モデル | 言語 | 特徴 |
|---|---|---|---|
| OpenFGA | ReBAC | 任意(API) | Google Zanzibarベース・Google/Githubが採用 |
| Casbin | RBAC/ABAC | 多言語 | ポリシーファイルで定義 |
| OPA(Open Policy Agent) | PBAC | Rego | 汎用ポリシーエンジン |
| Cerbos | RBAC/ABAC | 任意(API) | Kubernetes向け・ポリシーYAML |
OpenFGA:関係性ベースのアクセス制御(Google Zanzibarモデル)
OpenFGA(公式サイト↗・GitHub↗)はAuth0が開発するGoogle Zanzibarモデルの実装です。「UserAがDocumentBのeditorである」のような関係性をグラフで定義し、高速に認可チェックできます。
docker run --rm -p 8080:8080 openfga/openfga run
{"user": "user:alice", "relation": "editor", "object": "document:123"}
詳しくはOpenFGA公式ドキュメント↗を参照。またOPA公式サイト↗もポリシーエンジンの参考になります。
セキュリティOSSはセキュリティカテゴリから。SSOとの連携はSSO比較記事も参照。アクセス制御と認証の全体像はDevOpsカテゴリも参照。
OPA(Open Policy Agent):汎用ポリシーエンジン
OPA(公式サイト↗・GitHub↗)はKubernetes・マイクロサービス・API Gatewayのポリシー定義に使われる汎用エンジンです。Regoというポリシー言語でJSONの入力に対してtrue/falseを返します。
選び方
| ユースケース | 推奨 |
|---|---|
| Google Drive的な共有・コラボレーション機能 | OpenFGA |
| シンプルなロール管理 | Casbin |
| Kubernetes・マイクロサービスポリシー | OPA |
| YAML定義・Kubernetes向け | Cerbos |
まとめ
2026年のOSS IAM:細かい権限管理ならOpenFGA(関係性ベース)、シンプルなロール管理ならCasbinが最有力です。
よくある質問(FAQ)
Q. OpenFGAとCasbinはどちらが使いやすいですか?
Casbinはポリシーファイルで定義する方式でコードに組み込みやすく、シンプルなRBACなら簡単です。OpenFGAはAPIサーバーとして動き、複雑な関係性(Googleドライブのような権限継承)を表現しやすいです。
Q. AWS IAMポリシーをOSSで再現できますか?
OPAのRegoを使うとAWS IAMと同様のJSON形式のポリシーを定義できます。Kubernetes上でOPAをKubernetes Admission Controllerとして使う構成が一般的です。
Q. マルチテナントSaaSのアクセス制御はOpenFGAが向きますか?
はい。OpenFGAは組織・チーム・個人ユーザーの階層的な権限をグラフで自然に表現でき、SaaSのマルチテナント権限設計に適しています。