OpenFGA
受 Google Zanzibar 启发的关系型授权引擎,以独立服务的形式对细粒度访问控制进行建模和执行。
概述
OpenFGA 是一个高性能授权与权限引擎,其设计灵感来自 Google 关于关系型访问控制的 Zanzibar 论文。它不是将授权逻辑嵌入应用代码,而是以独立服务的形式运行,应用通过 HTTP 或 gRPC API 向其查询,基于你定义的关系模型来判断某个用户是否有权限对某个资源执行某项操作。
它支持多种存储后端(内存、PostgreSQL、MySQL,以及处于测试阶段的 SQLite),提供 Java、Node.js、Go、Python 和 .NET 的官方 SDK,并包含一个 CLI、一个用于以代码方式配置服务器的 Terraform provider,以及一个基于浏览器的 Playground,用于建模和测试授权规则。它也可以直接作为 Go 库嵌入使用,而不是作为独立服务运行。OpenFGA 已被 Auth0、Grafana Labs、Canonical、Docker 等公司应用于生产环境。
它适合那些需要以可查询服务的形式实现细粒度、基于关系的授权(例如嵌套群组、共享文档或组织级权限)的团队,而不是寻找身份验证或更简单的基于角色的访问控制库。
- 分类
- 身份验证与安全
- 编程语言
- Go
- 许可证
- Apache-2.0
相关项目
Casbin
Apache-2.0开源访问控制库,实现了 ACL、RBAC 和 ABAC 等授权模型,并提供 Go、Java、Python、Node.js 等多种语言的生产可用实现。
- 身份验证与安全
Appwrite
BSD-3-Clause开源后端平台,提供身份验证、数据库、存储、函数和实时 API,可自托管,也可使用托管云服务。
- 后端
- 数据库
- 身份验证与安全
Auth.js
ISC基于标准 Web API 构建的开源身份验证库,支持 OAuth、邮箱/无密码登录以及凭证登录,适用于任意 JavaScript 框架或运行时。
- 身份验证与安全
Authelia
Apache-2.0自托管的单点登录与双因素认证门户,部署在反向代理前端,为现有 Web 应用提供保护。
- 身份验证与安全
发现信息有误?在 GitHub 上提出修改建议。