跳至内容
FindOpenSource

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 等公司应用于生产环境。

它适合那些需要以可查询服务的形式实现细粒度、基于关系的授权(例如嵌套群组、共享文档或组织级权限)的团队,而不是寻找身份验证或更简单的基于角色的访问控制库。

分类
身份验证与安全
关键词
authorizationfine-grained-accesszanzibarpermissionsaccess-control
编程语言
Go
许可证
Apache-2.0

发现信息有误?在 GitHub 上提出修改建议