🛡️ Authz - 授权后端
这个项目提供了一个带有前端界面的后端服务器,用于管理授权。
您可以同时使用基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC)。
为什么使用它?
🌍 为所有应用程序的授权提供一个集中的后端
🙋♂️ 支持基于角色的访问控制(RBAC)
📌 支持基于属性的访问控制(ABAC)
⚙️ 提供多种语言的SDK
✅ 可靠:Authz 使用自身来管理其内部授权
🔍 审计:我们记录每个检查决策和匹配的策略
🔐 单点登录:使用企业 SSO 登录 Web 界面,支持 OpenID Connect
🕵️♂️ 可观察性:将指标和追踪数据导入您喜欢的工具
更多信息请访问 authz.fr
它是如何工作的?
授权很简单:一个主体
想要对一个资源
执行一个操作
。就是这样。
Authz 允许您管理所有您想管理的授权。所有这些都集中在一个单一的应用程序中。

您只需要部署后端服务器(一个 Go 单一二进制文件),如果需要的话还可以部署前端(静态文件),然后使用我们的 SDK。
所有数据都存储在 SQL 数据库中。我们目前支持:
您可以使用我们的 docker-compose.mysql.yaml
和 docker-compose.postgres.yaml
文件来运行开发环境。或者,您可以查看下面使用 SQLite 运行示例的方法。
SDK
为了帮助您,我们提供了以下可用的 SDK:
请查看它们的文档以了解详细用法。它们都使用 gRPC
与 Authz 后端进行通信(服务器到服务器)。
更多 SDK 即将推出。
入门
尝试 Authz 的最佳方式是使用以下独立的 Docker 镜像:
$ docker run --rm \
-e database_driver=sqlite \
-e database_name=:memory: \
-p 8080:8080 \
-p 8081:8081 \
-p 3000:80 \
ekofr/authz:v0.8.4-standalone
在这里,我们使用 SQLite 内存数据库。
前端将在 http://localhost:3000 上可用,默认凭据为:admin
/ changeme
。
另外,我们还提供了分离的 backend
和 frontend
Docker 镜像,可在此处获取:https://hub.docker.com/repository/docker/ekofr/authz。
文档
更多技术文档可在 https://docs.authz.fr 获取。
后端
有关后端的更多信息,请参阅 Backend README 文件。
前端
有关前端的更多信息,请参阅 Frontend README 文件。
社区
请随时为这个项目做出贡献,如果您想讨论某个功能,请不要犹豫,直接提出问题。