通过 Postgres 会话变量
app.current_tenant_id 结合 Row-Level Security,在数据库层自动隔离租户数据,避免因漏写 WHERE 子句引发的跨租户数据泄露。- Cognito 利用 Pre-Token Generation Lambda 在 JWT 中注入 tenantId,API Gateway 原生验证签名,确保身份可信
- Lambda 解析 JWT 后调用
set_config('app.current_tenant_id', tenantId, false) 设置会话变量- 数据库表启用 RLS,策略
USING (tenant_id = current_setting(...)) 自动过滤每行,应用用户非 superuser 确保策略生效- S3 对象存储通过
{tenantId}/{documentId}/... 前缀隔离,IAM 限制 s3:ListBucket,三层独立防御原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
