OpenFGA:重新定义访问控制的开源引擎
OpenFGA 是一款开源、高性能且灵活的授权引擎,其设计灵感来源于谷歌的 Zanzibar 关系型访问控制系统。它能够帮助开发者在应用程序中建模并实施细粒度的访问控制。
OpenFGA 的核心功能是让团队能够定义系统中"谁可以执行什么操作"。无论您是在构建初创企业应用还是管理企业级平台,它都能在毫秒级别完成授权检查。这种高速性能使其能够随着项目规模的增长而扩展,同时不牺牲性能或安全性。
OpenFGA 的最大优势之一在于其灵活性。它支持多种存储后端,包括内存选项、PostgreSQL、MySQL 以及 SQLite 的测试版本。开发者可以通过 HTTP 或 gRPC 的 API 与其交互,也可以使用 Java、Node.js、Go、Python 和 .NET 等流行语言的 SDK。如果您偏好的语言不在列表中,社区已经贡献了额外的 SDK 和工具。
对于喜欢实验的开发者,OpenFGA 提供了用于测试授权模型的 CLI 工具,以及一个可以实时建模关系和测试权限的演练场。此外还有一个 Terraform 提供商,可将 OpenFGA 服务器作为代码进行管理,这能很好地融入现有的 DevOps 工作流程。使用 Go 语言的开发者甚至可以直接将 OpenFGA 作为库嵌入。
真正让 OpenFGA 脱颖而出的是它如何结合不同访问控制范式的优点。它支持基于关系、基于角色和基于属性的模型,创建了一个能够处理复杂授权需求的系统。其建模语言对工程师来说功能强大,同时又足够简单,非技术团队成员也能理解,这使其成为协作开发的绝佳选择。
OpenFGA 对开放性的承诺不仅限于其源代码。其治理模型和 RFC 流程邀请任何人贡献想法,并帮助制定项目路线图。这种透明度已经赢得了 Auth0、Grafana Labs、Canonical、Docker、Agicap 和 Read.AI 等采用者。
OpenFGA 可在 GitHub 上免费获取。