ClearedToShip
critical

Supabase에서 행 수준 보안(RLS) 켜는 방법

문제점

RLS가 없는 Supabase 테이블은 anon 키를 가진 누구나 전부 읽을 수 있습니다 — 이 anon 키는 프런트엔드에 함께 배포됩니다. RLS를 올바르게 켜는 것이 Supabase 앱을 안전하게 만드는 가장 중요한 단 하나의 단계입니다.

단계별 안내

  1. 1

    모든 데이터 테이블에 RLS 켜기

    Supabase 대시보드에서 각 테이블에 행 수준 보안을 켜세요. 정책 없이 켜지면 기본적으로 접근이 거부됩니다 — 바로 당신이 원하는 상태입니다.

  2. 2

    사용자 범위로 한정된 SELECT 정책 추가하기

    CREATE POLICY "own rows" ON your_table FOR SELECT USING (auth.uid() = user_id); 같은 정책을 만드세요.

  3. 3

    INSERT / UPDATE / DELETE에 대해 반복하기

    각 작업에는 자체 정책이 필요합니다. 쓰기 작업에는 WITH CHECK를 사용해, 사용자가 소유해서는 안 되는 행을 쓰지 못하게 막으세요.

  4. 4

    인증된 접근과 익명 접근 모두 테스트하기

    익명 요청은 아무것도 반환하지 못하고, 인증된 사용자는 자기 행만 볼 수 있는지 확인하세요.

고치는 것을 넘어, 확인까지 받고 싶으신가요?

고치는 것은 첫 단계일 뿐입니다. ClearedToShip 검토는 수정이 실제로 유효한지 확인하고, 출시할 수 있도록 서명되고 보험으로 보증된 승인을 제공합니다. 얼리 액세스를 신청하세요:

무료 출시 준비도 검사
무료 검사 받기