sunilgentyala/hwaam-authorization-mesh
GitHub: sunilgentyala/hwaam-authorization-mesh
HWAAM 是一个统一的授权决策网格参考实现,通过共享决策契约为人类、工作负载和 AI agent 提供跨 RBAC、ABAC、ReBAC、OAuth 和 Kubernetes 的确定性策略执行与签名审计凭证。
Stars: 0 | Forks: 0
# HWAAM Authorization Mesh
[](https://github.com/sunilgentyala/hwaam-authorization-mesh/actions/workflows/ci.yml)
[](https://github.com/sunilgentyala/hwaam-authorization-mesh/actions/workflows/pages.yml)
[](LICENSE)
[](pyproject.toml)
HWAAM 是 Human-Workload-Agent Authorization Mesh 的参考实现。它对人类、工作负载、服务账号和 AI agent 应用确定性授权,同时保留租户边界、任务限制、委派上下文、撤销状态以及签名决策证据。
## 作者
- 主要作者及项目负责人:Sunil Gentyala
- 合作者及框架贡献者:Suresh Kumar Darisi
## 为什么使用 HWAAM
现代授权碎片化地分布在基于角色的访问控制、属性规则、关系图、OAuth scope、云身份系统、Kubernetes、服务账号以及 AI agent 工具中。一个请求可能通过了每一项局部检查,但仍然违反了用户的目的、租户边界或最小权限原则。
HWAAM 添加了一个共享决策契约,并强制执行以下控制:
- 基准角色权限
- 对象和租户授权
- 关系感知访问
- 任务限定的操作和资源
- 委派深度限制
- 跨委派跳数的权限衰减
- 审批和风险义务
- 持续撤销检查
- fail-closed(默认拒绝)处理
- HMAC 签名决策凭证
## 仓库内容
```
hwaam-authorization-mesh/
├── src/hwaam/ Core authorization package
├── tests/ Standard-library test suite
├── examples/ Policies, requests, and demo script
├── scripts/ Test, benchmark, and report scripts
├── docs/ GitHub Pages website
├── research/ Threat model, impact, and results
└── .github/workflows/ CI and Pages deployment
```
## 快速开始
HWAAM 需要 Python 3.10 或更高版本,并且在运行时仅使用 Python 标准库。
```
git clone https://github.com/sunilgentyala/hwaam-authorization-mesh.git
cd hwaam-authorization-mesh
python -m pip install -e .
hwaam evaluate \
--policy examples/policy.json \
--request examples/request_allowed.json \
--secret demo-secret
```
预期结果:
```
{
"effect": "allow",
"reasons": [
"All mandatory authorization controls passed"
]
}
```
运行完整的测试套件:
```
python scripts/run_tests.py
```
运行可重现的本地基准测试:
```
python scripts/benchmark.py --iterations 20000
```
生成机器可读和 Markdown 报告:
```
python scripts/generate_results.py
```
## CLI 示例
评估允许的请求:
```
hwaam evaluate \
--policy examples/policy.json \
--request examples/request_allowed.json \
--secret demo-secret
```
评估拒绝的跨租户请求:
```
hwaam evaluate \
--policy examples/policy.json \
--request examples/request_cross_tenant.json \
--secret demo-secret
```
验证签名凭证:
```
hwaam verify-receipt \
--receipt decision-receipt.json \
--secret demo-secret
```
## 核心决策流程
1. 验证请求 schema。
2. 检查主体、任务和资源的撤销状态。
3. 强制执行租户闭包。
4. 验证任务过期时间、操作、资源、影响和委派深度。
5. 检查跨委派跳数的权限衰减。
6. 评估角色和属性要求。
7. 验证所需的关系。
8. 应用审批和风险义务。
9. 返回允许、拒绝或条件允许。
10. 签名决策凭证以供审计和验证。
## 安全立场
HWAAM 是一个参考实现,而不是一个完整的身份提供者或生产级策略服务。生产部署需要强化密钥管理、经过身份验证的策略分发、持久化撤销、受保护的审计存储、服务间认证、监控以及独立的安全审查。
当缺少所需的策略、属性、关系或撤销信息时,引擎默认拒绝。
## 测试与基准测试证据
仓库包含了从所含代码生成的可重现结果:
- [测试结果](research/test-results.md)
- [基准测试结果](research/benchmark-results.md)
- [影响分析](research/impact.md)
- [威胁模型](research/threat-model.md)
基准测试数据仅描述了本地执行环境。它们不是生产环境的性能声明。
## GitHub Pages
网站位于 `docs/` 中。在配置 GitHub Pages 使用 GitHub Actions 后,内置的 Pages 工作流会自动部署它。
预期的项目 URL:
```
https://sunilgentyala.github.io/hwaam-authorization-mesh/
```
## 项目状态
0.1.0 版本提供了一个可测试的参考引擎和研究工件。有关计划与 OPA、Cedar、OpenFGA、OAuth token exchange、Kubernetes admission control 以及 agent 工具网关的集成,请参阅 [ROADMAP.md](ROADMAP.md)。
## 引用
引用元数据已在 [CITATION.cff](CITATION.cff) 中提供。
## 许可证
基于 Apache License 2.0 授权。请参阅 [LICENSE](LICENSE)。
标签:JSONLines, Python, 授权系统, 无后门, 服务网格, 策略引擎, 网络安全挑战, 身份与访问控制, 逆向工具, 零信任