authzed avatar

authzed/spicedb

7.1k 436 50
Go Apache-2.0
创建于 5 年前 最后更新 2 周前 +4 stars today

AI 综合评分

74 B 级
代码质量
68
文档质量
77
社区健康
71
项目活跃
80
创新性
65

项目简介

开源细粒度权限数据库,受Google Zanzibar启发,用关系模型存储和查询授权数据。

项目摘要

主题

为现代应用提供统一的细粒度授权数据库,解决权限逻辑散落、难以扩展和维护的痛点。

核心分点总结

  1. 关系型权限模型 基于ReBAC(关系型访问控制),用三元组(用户-关系-资源)表达权限,灵活支持团队、层级、继承等复杂授权场景。

  2. Zed声明式语言 通过直观的schema定义权限类型和关系,将权限逻辑从代码中抽离,像设计数据库一样设计权限。

  3. 分布式与高性能 采用云原生架构,支持水平扩展和低延迟查询,满足大规模生产环境的一致性与可用性要求。

  4. 开发者友好生态 提供多语言客户端、CLI工具和调试界面,让权限的写入、查询和验证变得简单透明。

  5. Zanzibar对齐 遵循Google Zanzibar论文的核心设计,确保权限检查的正确性和一致性,避免常见的安全漏洞。

行动指南

  1. 当你的应用需要超越RBAC的细粒度权限(如文档共享、组织架构、动态授权)时,用SpiceDB替代手写的权限逻辑。

  2. 从定义schema开始,逐步将现有权限关系迁移到SpiceDB,利用其版本化schema管理平滑演进。

  3. 在CI/CD流程中集成SpiceDB的验证工具,确保权限变更不会意外破坏访问控制。

金句总述

权限不再是代码里的if-else,而是可查询、可验证的关系图谱。

故事性收尾

曾经,权限逻辑像野草般散落在代码的每个角落,每次修改都如履薄冰;如今,所有权限关系在SpiceDB中清晰可见,像操作数据库一样简单,开发者终于能睡个安稳觉,把精力放回真正重要的业务创新上。

相关项目推荐