supabase - new row violates row-level security policy for table 에러

송현섭 ·2024년 3월 30일
0

에러 핸들링

목록 보기
9/10

  • supabase API 코드 작성 후 CRUD를 테스트하기 위해 API 요청을 하였으나 위와 같은 에러 문구와 함께 요쳥이 제대로 가지 않음





  • 문제원인은 응답로드의 message에서 확인이 가능했음

  • 기본 RLS 정책을 사용하면서 정작 해당 테이블에 관련 보안정책에 대한 설정을 하지 않았기에 default값으로 데이터에 대한 접근을 막아버려 해당 에러가 발생한 것
    *위 메시지에서 알 수 있듯이 row-level security, 즉 해당 테이블의 행에 대한 정책위반으로 간주되어 요청이 실패





해결방안


  • 직접 Auth 탭의 policy 로 들어가서 지정한 테이블에 대한 정책을 만들어주면 됨





  • supabase에서는 기본적으로 각 CRUD (여기서는 select, insert, update...) 에 대한 기본 템플릿형식을 지원

  • 그러나 지원하는 템플릿만 이용할 경우 Select를 제외한 나머지 CRUD에 대해서는 Auth 로 인증받지 않는 한 모두에게 접근을 허용할 수는 없음

  • 따라서 모두 접근 가능하도록 정책을 설정하고 싶으면 CRUD를 선택 후 Open in SQL Editor를 통해 직접 Postgres 문법으로 코드를 수정하여 설정하면 됨





  • 이후 재요청시 요청에 대한 응답을 잘 받아오는 것 확인가능
profile
막 발걸음을 뗀 신입

0개의 댓글