인프런 커뮤니티 질문&답변

윈우님의 프로필 이미지

작성한 질문수

프리랜서 개발자가 되기 위한 완벽 가이드 by 인썸니아 대표

기술 스택 정하기

supabase를 백엔드 사용하지않고 사용했을때 질문

해결된 질문

작성

·

421

0

안녕하세요?

강의덕분에 supabase를 알게 되었는데

강의에서 supabase를 이용하여 db 셋팅하시고 백엔드를 거치지 않고 프론트에서 바로 사용하신다고 하셨는데.

이렇게되면 프론트에서 db에 쿼리를 사용한다는 의미인가요?

이때 각 유저별 db권한처리를 어떻게 하시는걸까요?

답변 1

0

안녕하세요 강의 수강해주셔서 감사해요

supabase는 데이터베이스 서버를 제공하면서 동시에 javascript api를 제공하고 있어요. 그래서 백엔드/프론트엔드에서 api 함수를 통해 데이터 CRUD를 할 수 있고요.
프론트에서 아무나 데이터를 조회/수정하면 안 되니 권한 설정이 필요한데 supabase에는 RLS(row level security)라는 개념을 사용해요. 이는 postgresql에 이미 있는 개념이었는데 개발자들이 잘 모르죠. 어떤 데이터에 대해 작성자만 수정/삭제할 수 있다던지, 로그인한 사용자만 데이터를 생성할 수 있다던지, 관리자 권한의 사람은 모든 데이터 대해 접근 권한이 있다던지 하는 권한 설정을 RLS로 할 수 있어요.

좀더 복잡한 권한 설계는 RLS만으로는 어렵기 때문에 백엔드를 거쳐서 호출해야 하는데 복잡하지 않은 대략 70% 정도의 데이터베이스 호출은 RLS만으로 권한 설정이 가능하고 프론트에서 데이터 호출을 해도 안전하게 되요. 즉 RLS와 supabase api를 잘 사용하면 백엔드 호출이 70% 가량 줄어들 수 있어요

제 유튜브 채널에 수파베이스에 대한 설명 영상이 있으니 참고해보세요
youtube.com/watch?v=f8inSwfOVZc

윈우님의 프로필 이미지

작성한 질문수

질문하기