OpenFGA 简介 OpenFGA 是一个可扩展的开源授权系统,专为开发人员设计,支持为任何类型的应用程序实现授权功能,并能随着应用复杂度的提升而灵活扩展。该项目由云原生计算基金会(Cloud Native Computing Foundation)所有。
受谷歌内部授权系统 Zanzibar 的启发,OpenFGA 基于关系型访问控制(ReBAC),使开发人员能够轻松实现基于角色的访问控制(RBAC),并提供额外功能以实现基于属性的访问控制(ABAC)。您可以在这里了解更多关于不同授权概念的详细信息。
优势 OpenFGA 为开发人员提供以下优势:
将授权逻辑从应用程序代码中分离出来,使其更易于编写、修改和审计。 通过采用单一授权解决方案提升开发效率。 集中化授权决策和审计日志,简化安全与合规要求符合性。 帮助产品更快迭代,因授权策略的演进更为简便。 功能 OpenFGA通过以下功能帮助开发者实现上述优势:
支持多存储模式,可在不同环境(生产/测试/开发)和用例(内部应用、外部应用、基础设施)中管理授权。 支持基于上下文元组和条件关系元组的 ABAC 场景。 提供 Java、.NET、JavaScript、Go 和 Python 的 SDK。 支持 HTTP 和 gRPC API。 支持作为库运行,或通过基于 Go 的服务调用。 支持使用 Postgres、MySQL 或 SQLite 作为生产环境数据存储,以及内存数据存储用于非生产环境。 用于管理 OpenFGA 存储、测试模型、导入/导出模型和数据的命令行界面工具。 GitHub Actions 用于测试和部署模型。 Visual Studio Code 扩展,支持 FGA 模型和测试的语法高亮和验证。 Helm Charts 用于轻松部署到 Kubernetes。 OpenTelemetry 支持,用于与您的监控基础设施集成。