Warrant开源访问控制服务
Warrant 是为开发人员和产品团队构建的应用程序访问控制服务。它是一种集中式授权服务(受 Google Zanzibar 启发),旨在从构建软件产品的团队中抽象出管理用户访问控制的复杂性,因此他们可以从第一天起就为客户提供一流的访问控制,并且集中精力打造自己的核心产品。
Warrant 允许你定义、存储和管理你的产品的授权模型和访问规则(称之为 warrants),然后在运行时从你的应用程序检查或查询这些规则。这允许你轻松实现任何访问控制模型,从较粗的基于角色的访问控制(RBAC)(例如,does [user:1] have [permission:view-billing-details]?
)到细粒度的基于关系的访问控制(ReBAC)(例如,is [user:1] an [editor] of [document:docA]?
)和基于属性的访问控制(ABAC)(例如,is [user:1] in [department:accounting]?
)。
在此处查看其他一些常见用例。
特性:
- 一个实时、低延迟的
check
API,用于在运行时在您的应用程序中执行访问检查(例如 isuser:A editor of tenant:X
?) - 实时查询API,查询和审计特定主体或对象的访问规则(例如
which users in tenant:1 have access to object:A?
) - 对角色和权限 (RBAC) + API 端点的内置支持,用于从你的应用程序创建和管理自定义角色和权限
- 内置支持多租户访问控制
- 为每个租户定义角色、权限、访问规则等
- 支持用户在你的应用程序中的访问级别取决于他们当前登录的租户(或角色)的场景。
- 对定价层的内置支持——根据产品的定价计划(例如免费层、增长层、业务层、企业层等)实时控制对应用程序功能的访问
- 允许/拒绝访问特定页面/UI 元素的权限感知前端组件
- 用于构建 UI 的预构建组件和可嵌入页面,使客户能够为自己和团队成员管理角色、权限和其他访问规则
- 与内部和第三方身份验证/身份提供商(如 Auth0)集成
- 跟踪授权模型和访问规则的所有更新的全局事件日志,使审计、警报和调试变得简单
- 最流行的语言和框架的 SDK
评论