Row Level Security로 Supabase 데이터 보호하기
G
guifindel··조회 199RLS가 필요한 이유
Supabase는 anon key를 클라이언트에 노출하므로, RLS 없이는 누구나 모든 데이터에 접근할 수 있습니다. RLS는 PostgreSQL 레벨에서 동작하므로 어떤 클라이언트를 사용해도 우회할 수 없습니다.
기본 정책 작성
-- 본인 데이터만 읽기
CREATE POLICY "Users read own data"
ON profiles FOR SELECT TO authenticated
USING (auth.uid() = id);
-- 본인 데이터만 수정
CREATE POLICY "Users update own data"
ON profiles FOR UPDATE TO authenticated
USING (auth.uid() = id)
WITH CHECK (auth.uid() = id);흔한 실수
RLS를 활성화하고 정책을 추가하지 않으면 아무도 접근할 수 없습니다. 공개 데이터는 반드시 anon 역할에 대한 SELECT 정책을 추가해야 합니다.
댓글
G