Supabase는 안전한가요? Supabase 앱을 안전하게 만드는 방법
Supabase는 설계상 안전합니다 — 단, 행 수준 보안을 켜고 올바르게 구성했을 때만 그렇습니다. 대부분의 노출은 그 단계를 건너뛰어서 발생합니다.
Supabase는 잘 만들어진 안전한 플랫폼입니다. 거의 모든 Supabase 데이터 유출은 하나의 실수로 귀결됩니다: 행 수준 보안(RLS)이 비활성화됐거나 너무 느슨하게 작성되어, 공개 anon 키로 테이블 전체를 읽을 수 있는 것입니다. anon 키는 원래 공개되도록 만들어졌습니다 — 당신의 보안은 키를 숨기는 데서가 아니라 RLS에서 나옵니다.
Supabase는 안전하고 탄탄하게 설계된 플랫폼이며, anon(공개) 키는 원래 프런트엔드에 노출되도록 설계됐습니다. 거의 모든 Supabase 데이터 유출은 하나의 실수로 귀결됩니다: 행 수준 보안(RLS)이 비활성화됐거나 너무 느슨하게 작성되어, anon 키를 가진 누구나 테이블 전체를 읽을 수 있는 것입니다. 당신을 보호하는 것은 anon 키를 비밀로 유지하는 것이 아니라 RLS 정책입니다. 출시 전에 단 하나만 한다면, 사용자 데이터를 담은 모든 테이블에 RLS가 켜져 있고 올바르게 범위가 지정됐는지 확인하세요.
Supabase 보안 한눈에 보기
- 플랫폼 유형
- 오픈소스 백엔드 (Postgres, 인증, 스토리지)
- 가장 흔한 위험
- RLS가 꺼져 있거나 '모두 허용'으로 설정됨
- anon 키는 비밀인가요?
- 아니요 — 설계상 공개이며, 통제는 RLS가 합니다
- service-role 키
- 절대 브라우저에 닿으면 안 됨 — RLS를 우회합니다
- 점검 방법
- 무료 Supabase RLS 검사 실행
Supabase에서 가장 흔한 보안 위험
어떤 테이블에 RLS가 비활성화됨
RLS가 켜져 있지 않은 테이블은 anon 키를 가진 누구나 전부 읽을 수 있고(종종 쓰기까지 가능) — 이 anon 키는 프런트엔드에 함께 배포됩니다.
너무 느슨한 정책
'모두 허용'이나 'true' 같은 정책은 기술적으로는 RLS를 켜지만 데이터를 활짝 열어둡니다. RLS가 '켜진 것'과 RLS가 '올바른 것'은 같지 않습니다.
클라이언트에 노출된 service-role 키
service-role 키는 RLS를 완전히 우회합니다. 이것이 브라우저나 공개 저장소에 닿으면, 데이터베이스 전체가 노출됩니다.
Supabase 앱을 안전하게 만드는 방법
60초 만에 당신의 Supabase 앱을 점검하세요
배포된 URL을 붙여넣어 무료 출시 준비도 검사를 받고, 출시 전에 전문가가 검토하고 보험으로 보증하는 출시 승인을 받으세요.
Supabase 보안 자주 묻는 질문
- Supabase anon 키를 노출해도 안전한가요?
- 네 — anon 키는 공개되도록 설계됐고 프런트엔드에 함께 배포됩니다. 당신을 보호하는 것은 anon 키를 비밀로 유지하는 것이 아니라 행 수준 보안 정책입니다. 단, service-role 키는 절대 노출되면 안 됩니다.
- 내 Supabase 테이블이 공개돼 있는지 어떻게 확인하나요?
- 무료 Supabase RLS 검사를 사용하세요. 프로젝트 URL과 anon 키를 붙여넣으면 인증 없이 데이터를 반환하는 테이블을 알려줍니다.
- Supabase는 HIPAA를 준수하나요?
- Supabase는 유료 요금제에서 BAA 체결과 함께 HIPAA 준수 등급을 제공하지만, 규정 준수는 공동 책임입니다 — RLS, 접근 제어, 로깅을 직접 올바르게 구성해야 합니다. 플랫폼이 HIPAA를 지원한다는 것이 곧 당신의 특정 앱이 규정을 준수한다는 뜻은 아닙니다.