팁 인기
Supabase RLS 정책 5분 템플릿 — 복붙용 공유합니다
바이브코딩으로 앱 만들 때 제일 많이 터지는 게 RLS라서, 제가 매번 쓰는 기본 템플릿을 공유해요. 테이블마다 본인 행만 접근하게 만드는 4종 세트입니다.
1. 먼저 RLS를 켭니다
테이블을 만들면 RLS는 꺼져 있어요. 켜지 않으면 정책을 아무리 짜도 적용되지 않습니다. 가장 먼저 켜세요.
sql
alter table your_table enable row level security;2. 본인 행만 보이게 (SELECT / INSERT / UPDATE / DELETE)
user_id 컬럼이 auth.uid()와 매칭되는 구조 기준입니다. 대시보드 → SQL Editor에 붙여넣고 your_table만 바꾸면 돼요.
sql
-- 본인 행만 조회
create policy "select_own" on your_table
for select using (auth.uid() = user_id);
-- 본인 행만 추가 (with check 필수!)
create policy "insert_own" on your_table
for insert with check (auth.uid() = user_id);
-- 본인 행만 수정
create policy "update_own" on your_table
for update using (auth.uid() = user_id);
-- 본인 행만 삭제
create policy "delete_own" on your_table
for delete using (auth.uid() = user_id);“insert 정책에 with check를 빠뜨리면, 남의 user_id로 행을 끼워 넣을 수 있어요. 가장 흔한 실수입니다.
3. 공개돼야 하는 테이블만 예외
리더보드처럼 공개돼야 하는 테이블만 따로 public read 정책을 추가하세요. 나머지는 다 잠그는 게 기본값이에요.
S
sql
create policy "public_read" on leaderboard
for select using (true);이대로 깔고 시작하면 바이브코딩 앱에서 터지는 RLS 사고 대부분은 예방돼요. 진단 돌려서 A 나오는지 확인해보세요!
supabaserls템플릿
댓글 2