多租户数据访问模式与 IAM 策略
在 AWS 中使用数据存储
Dunieski Otano
AWS Solutions Architect
多租户安全事件
- SaaS 应用服务 1,000 家公司
- 应用漏洞导致跨租户访问
- A 公司员工查看到 B 公司的数据
- 结果:客户流失、诉讼、声誉受损
每租户分区键模式
- 设计
- 使用 tenantId 作为分区键
- 每条记录都包含 tenantId
- 优点
- 要求
用于租户隔离的 IAM 条件键
- dynamodb:LeadingKeys
- 示例策略
- "当 tenantId = tenant-123 时允许"
- 强制执行
实施纵深防御
- 层 1:应用
- 层 2:IAM 策略
- 层 3:数据库设计
测试与验证
- 测试跨租户访问
- 尝试读取其他租户数据
- 应失败并返回 AccessDeniedException
- 审计日志
- 定期评审
恭喜完成!
- AWS 数据存储:DynamoDB、S3、ElastiCache、OpenSearch
- 设计与优化:表设计、存储优化
- 数据安全:加密、密钥管理、多租户隔离
Preparing Video For Download...