ออกแบบ multi-tenant ใน Supabase แบบไม่ลืม row-level security
RLS ของ Postgres แรงดีแต่พลาดง่าย. นี่คือ pattern ที่ทีมผมใช้กับ 50+ tenants
2026-04-28 · 8 นาที · nat-touring.dev
Postgres RLS เป็นเครื่องมือที่แรงที่สุดและพลาดง่ายที่สุดใน Supabase. ผมลีดทีมที่ใช้ pattern นี้กับ 50+ tenants — 18 เดือนยังไม่มี leak.
-- pattern: tenant_id on every table
create policy "tenant isolation" on orders
for all to authenticated
using (tenant_id = (auth.jwt() ->> 'tenant_id')::uuid);TL;DR: tenant_id ในทุก table, policy เทียบกับ JWT, ทดสอบทุก policy ด้วย integration test.
ทดสอบเป็นกฎ ไม่ใช่ทางเลือก: ทุก migration ที่เพิ่ม table → integration test ที่พยายามอ่าน/เขียนข้ามทีนันต์.
หน้านี้มีลิงก์ affiliate. หากกดและสั่งซื้อ ผมอาจได้ค่าคอมมิชชั่นเล็กน้อย โดยไม่มีค่าใช้จ่ายเพิ่มกับคุณ. ผมแนะนำเฉพาะของที่ใช้จริงเท่านั้น. อ่านนโยบายฉบับเต็มที่ /disclosure.