Row Level Security (RLS) Politikaları#

Bu bölümde Supabase veritabanında kullanılan tüm RLS politikalarının detaylı açıklamaları bulunmaktadır.


RLS Politikaları Listesi#

Schools Tablosu#

Classes Tablosu#

Class Members Tablosu#


RLS Nedir?#

Row Level Security (Satır Seviyesi Güvenlik), PostgreSQL’in güvenlik özelliğidir. Her kullanıcının sadece kendisine ait veya yetkili olduğu verileri görmesini ve değiştirmesini sağlar.

Avantajları#

  • Tablo seviyesinde güvenlik
  • Her sorgu için otomatik kontrol
  • Backend kod gerektirmez
  • SQL injection’a karşı koruma
  • Multi-tenant mimaride veri izolasyonu

Politika Türleri#

SELECT Politikaları#

Kullanıcının hangi satırları görebileceğini belirler.

CREATE POLICY "policy_name"
ON table_name FOR SELECT
USING (condition);

INSERT Politikaları#

Kullanıcının hangi satırları ekleyebileceğini belirler.

CREATE POLICY "policy_name"
ON table_name FOR INSERT
WITH CHECK (condition);

UPDATE Politikaları#

Kullanıcının hangi satırları güncelleyebileceğini belirler.

CREATE POLICY "policy_name"
ON table_name FOR UPDATE
USING (condition)
WITH CHECK (condition);

DELETE Politikaları#

Kullanıcının hangi satırları silebileceğini belirler.

CREATE POLICY "policy_name"
ON table_name FOR DELETE
USING (condition);

RLS Nasıl Aktif Edilir?#

-- RLS'yi aktif et
ALTER TABLE table_name ENABLE ROW LEVEL SECURITY;

-- RLS'yi devre dışı bırak
ALTER TABLE table_name DISABLE ROW LEVEL SECURITY;

-- Politika oluştur
CREATE POLICY "policy_name"
ON table_name
FOR operation
USING (condition);

İlgili Bölümler#


Not: Politika detaylarını ilgili sayfalarda bulabilirsiniz.