supabase
CHAPTER 7 / 34
읽기 약 2분
SYNTAX
테이블 생성 & Row Level Security
핵심 개념
SQL로 테이블을 생성하고 RLS로 데이터 접근을 제어합니다. 사용자별 데이터 격리를 구현합니다.
코드 분석
-- 테이블 생성
CREATE TABLE posts (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
user_id uuid REFERENCES auth.users(id),
title text NOT NULL,
content text,
created_at timestamptz DEFAULT now()
);
-- RLS 활성화
ALTER TABLE posts ENABLE ROW LEVEL SECURITY;
-- 정책: 본인 글만 읽기
CREATE POLICY "read own posts"
ON posts FOR SELECT
USING (auth.uid() = user_id);
-- 정책: 본인 글만 작성
CREATE POLICY "insert own posts"
ON posts FOR INSERT
WITH CHECK (auth.uid() = user_id);AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 Supabase '테이블 생성 & Row Level Security' RLS 정책에서 보안 구멍·우회 가능한 케이스·과도한 권한을 찾고 안전한 정책 코드를 작성해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'테이블 생성 & Row Level Security'를 Next.js + Supabase로 구현한 실전 풀스택 코드(Auth/RLS/Realtime 포함)를 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 Supabase '테이블 생성 & Row Level Security' 관련 테이블·RLS 정책 전체를 분석해서 보안 취약점·N+1 쿼리·인덱스 누락을 우선순위 리포트로 만들어줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
Supabase '테이블 생성 & Row Level Security' vs Firebase의 동일 기능 구현을 2026년 기준 비용·성능·DX로 솔직히 비교해줘.
⭐ 이것만 기억하세요
테이블 생성 & Row Level Security는 이 3가지만 확실히 잡으세요
1.RLS 없이 테이블을 public에 노출하면 ANON KEY로 누구나 모든 데이터를 읽고 삭제할 수 있습니다
2.CREATE TABLE 후 ALTER TABLE ENABLE ROW LEVEL SECURITY를 적용하고, 정책(Policy)으로 행 단위 접근을 제어합니다
3.다음 챕터에서 데이터를 조회하는 Select를 배웁니다
공유하기
진행도 7 / 34