Operationalizing Macaroons
a year ago
- #fly.io
- #macaroons
- #security
- Fly.io采用Macaroon令牌实现安全机制,允许用户自主限定令牌权限范围以实现最小权限原则
- Macaroon令牌需在线状态验证,依赖数据库存储随机数查询,因此开发了tkdb系统——基于LiteFS和Litestream的轻量级SQLite数据库管理方案
- 令牌验证采用缓存机制,缓存命中率达98%,显著降低数据库频繁访问需求
- 吊销功能通过tkdb的黑名单表实现,配合轮询缓存更新机制确保已撤销令牌永久失效
- 服务令牌通过转换和衰减机制进行风险管控,严格限定其仅在特定环境使用
- 通过OpenTelemetry和Honeycomb实现全链路遥测监控,保障令牌系统的稳定运行与操作溯源
- 尽管初期存在疑虑,Macaroon方案经实践验证表现优异,tkdb与Petsem(替代Vault的方案)共同构建了高效的安全与密钥管理体系