Supabase 安全吗? 如何加固你的 Supabase 应用
Supabase 在设计上是安全的——但前提是你启用并正确配置了行级安全。绝大多数暴露都源于跳过了这一步。
简短回答
Supabase 是一个构建良好、安全的平台。几乎每一起 Supabase 数据泄露都可归结为同一个错误:行级安全(RLS)被禁用或写得过于宽松,导致公开 anon 密钥能够读取整张表。anon 密钥本就该公开——你的安全来自 RLS,而非来自隐藏密钥。
Supabase 是一个安全、工程扎实的平台,anon(公开)密钥本就设计为暴露在前端。几乎每一起 Supabase 数据泄露都归结为一个错误:行级安全(RLS)被禁用或写得过于宽松,使任何持有 anon 密钥的人都能读取整张表。你的保护来自 RLS 策略,而不是把 anon 密钥藏起来。如果上线前只做一件事,就请确认每一张存放用户数据的表都启用并正确限定了 RLS。
Supabase 安全速览
- 平台类型
- 开源后端(Postgres、鉴权、存储)
- 最常见风险
- RLS 被禁用或设为「全部允许」
- anon 密钥需要保密吗?
- 不需要——它本就公开,靠 RLS 来管控
- service-role 密钥
- 绝不能进入浏览器——它会绕过 RLS
- 如何检查
- 运行免费 Supabase RLS 检测
Supabase 最常见的安全风险
某张表未启用 RLS
任何未启用 RLS 的表,都可被任何持有 anon 密钥的人完全读取(往往还能写入)——而 anon 密钥会随前端一起发布。
策略过于宽松
「全部允许」或「true」这样的策略,技术上启用了 RLS,却把数据完全敞开。RLS「开着」不等于 RLS「正确」。
service-role 密钥出现在客户端
service-role 密钥会完全绕过 RLS。一旦进入浏览器或公开仓库,你的整个数据库都会暴露。
如何加固你的 Supabase 应用
60 秒检查你的 Supabase 应用
粘贴你已部署的网址,获取免费的上线就绪扫描,再在上线前拿到真人复核、带保险的放行许可。
Supabase 安全常见问题
- 暴露我的 Supabase anon 密钥安全吗?
- 安全——anon 密钥本就设计为公开,并随前端一起发布。你的保护来自行级安全策略,而非保密 anon 密钥。但 service-role 密钥绝不能暴露。
- 怎么检查我的 Supabase 数据表是否公开?
- 使用我们的免费 Supabase RLS 检测。粘贴项目网址和 anon 密钥,它会报告哪些表在无鉴权时仍会返回数据。
- Supabase 符合 HIPAA 合规吗?
- Supabase 在付费方案中提供符合 HIPAA 的层级并可签署 BAA,但合规是共担责任——你仍需正确配置 RLS、访问控制和日志。平台「具备 HIPAA 能力」并不等于你的具体应用就合规。