Home / Writing / supabase-rls-multitenant

ออกแบบ 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.
ชอบโพสต์นี้ไหม?
แชร์LineFacebookX