ClearedToShip
critical

如何在 Supabase 上启用行级安全(RLS)

问题所在

未启用 RLS 的 Supabase 表,任何持有 anon 密钥的人都能完全读取——而 anon 密钥会随前端一起发布。正确启用 RLS 是加固 Supabase 应用最重要的一步。

分步操作

  1. 1

    为每张数据表开启 RLS

    在 Supabase 控制台为每张表启用行级安全。启用且无策略时,默认拒绝访问——这正是你想要的。

  2. 2

    添加限定到用户的 SELECT 策略

    创建类似 CREATE POLICY "own rows" ON your_table FOR SELECT USING (auth.uid() = user_id); 的策略。

  3. 3

    为 INSERT/UPDATE/DELETE 重复设置

    每种操作都需要各自的策略。在写操作上使用 WITH CHECK,阻止用户写入不属于自己的数据行。

  4. 4

    同时测试已鉴权与匿名访问

    确认匿名请求什么都返回不了,而已鉴权用户只能看到自己的数据行。

想要的不只是修复,还要有人核实?

修复只是第一步。ClearedToShip 的复核会确认修复确实有效,并为你出具一份签署的、带保险的上线放行许可。加入抢先体验:

免费上线就绪扫描
获取免费扫描