DataBunker项目API详解:GDPR合规的个人数据存储方案
项目概述
DataBunker是一个专为GDPR合规设计的个人数据存储解决方案,它提供了一套完整的API接口用于安全地管理用户个人信息。本文将深入解析DataBunker的核心API功能,帮助开发者理解如何安全地存储、访问和管理敏感用户数据。
核心API功能
1. 用户数据管理API
1.1 创建用户记录
端点:POST /v1/user
功能说明:
- 创建新用户记录并返回唯一token
- 支持JSON和表单格式提交
- 自动为email、phone和login字段建立哈希索引
- 每个记录使用独立密钥加密
示例代码:
# JSON格式创建
curl -s http://localhost:3000/v1/user -XPOST \
-H "X-Bunker-Token: $XTOKEN" \
-H "Content-Type: application/json" \
-d '{"firstName": "John","lastName":"Doe","email":"user@gmail.com"}'
# 表单格式创建
curl -s http://localhost:3000/v1/user -XPOST \
-H "X-Bunker-Token: $XTOKEN" \
-d 'firstName=John' \
-d 'lastName=Doe' \
-d 'email=user2@gmail.com'
1.2 用户记录操作
DataBunker提供多种方式访问用户记录:
| 操作类型 | 端点格式 | 说明 |
|---------|---------|------|
| 查询 | GET /v1/user/{token\|login\|email\|phone}/{identity}
| 通过不同标识符获取用户信息 |
| 更新 | PUT /v1/user/{token\|login\|email\|phone}/{identity}
| 更新用户记录,支持字段级更新 |
| 删除 | DELETE /v1/user/{token\|login\|email\|phone}/{identity}
| 实现"被遗忘权",彻底删除PII数据 |
技术要点:
- 更新操作会生成审计日志记录变更
- 删除操作符合GDPR的"被遗忘权"要求
- 企业版支持延迟删除策略
2. 用户应用数据API
2.1 应用数据管理
设计理念:
- 分离核心用户数据与应用特定数据
- 适用于订单、配送信息等场景
端点示例:
POST /v1/userapp/token/{token}/{appname} # 创建/更新应用数据
GET /v1/userapp/token/{token}/{appname} # 获取应用数据
PUT /v1/userapp/token/{token}/{appname} # 更新应用数据
DELETE /v1/userapp/token/{token}/{appname} # 删除应用数据
典型应用场景:
# 存储配送信息
curl -s http://localhost:3000/v1/userapp/token/$TOKEN/shipping \
-H "X-Bunker-Token: $XTOKEN" -H "Content-Type: application/json" \
-d '{"country":"UK","city":"London","address":"221B Baker Street"}'
3. 会话管理API
3.1 会话数据存储
安全设计:
- 替代直接存储用户IP、设备信息等PII
- 自动过期机制
- 灵活的会话数据结构
端点功能:
POST /v1/session/{token\|login\|email\|phone}/{identity} # 创建会话
GET /v1/session/session/{session} # 获取单个会话详情
GET /v1/session/{token\|login\|email\|phone}/{identity} # 获取用户所有会话
示例:
# 创建带TTL的会话
curl -s http://localhost:3000/v1/session/email/test@example.com -XPOST \
-H "X-Bunker-Token: $APIKEY" -H "Content-Type: application/json" \
-d '{"expiration":"3d","clientip":"1.1.1.1","device":"iPhone"}'
4. 用户授权管理API
4.1 GDPR合规设计
- 专门用于存储用户授权记录
- 支持授权到期自动失效
- 完整的授权历史追踪
核心端点:
POST /v1/consent/{token\|login\|email\|phone}/{identity}/{brief} # 创建授权
DELETE /v1/consent/{token\|login\|email\|phone}/{identity}/{brief} # 撤销授权
GET /v1/consent/{token\|login\|email\|phone}/{identity} # 获取用户所有授权
授权参数说明: | 参数 | 说明 | |------|------| | status | 授权状态(accept/cancel) | | expiration | 过期时间(支持UNIX时间戳或"10d"格式) | | lawfulbasis | 法律依据(consent/contract等) | | consentmethod | 授权方式(web/phone/email等) |
5. 共享记录API
5.1 安全共享机制
- 临时访问令牌生成
- 细粒度字段控制
- 自动过期保障
使用流程:
- 创建共享记录
curl -s http://localhost:3000/v1/sharedrecord/token/$TOKEN \
-H "X-Bunker-Token: $XTOKEN" -H "Content-Type: application/json" \
-d '{"fields":"address,postcode","expiration":"24h"}'
- 通过共享令牌访问
curl -s http://localhost:3000/v1/get/$SHARED_TOKEN
最佳实践建议
- token安全:用户token应妥善保管,避免泄露
- 最小权限:只共享必要字段,设置合理过期时间
- 审计追踪:利用内置的审计功能满足合规要求
- 数据分离:核心PII与业务数据分开存储
- 自动化清理:设置合理的会话和共享记录TTL
总结
DataBunker提供了一套完整的API体系,帮助开发者构建符合GDPR要求的数据存储方案。通过用户数据、应用数据、会话数据和授权管理的分离,实现了细粒度的数据访问控制和安全保障。其设计充分考虑了实际业务场景中的各种需求,是处理敏感用户数据的理想选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考