본문 바로가기
01_PROJECT/OBJECT _2023

[ Firebase ] FirebaseError: [code=permission-denied]: Missing or insufficient permissions. 권한 부족 또는 없음 오류

by zestlumen 2023. 7. 28.

 

 

유저가 로그인을 하고 멤버십을 선택할 때, Firestore에서 컬렉션 ' users'에 userId(uid)를 문서명으로 

문서마다 유저이메일(email), 유저이름(name), 유저가 선택한 멤버쉽(membership), 유저의 가입날짜(date)를

필드로 넣는 코드를 작성했지만 프로젝트의 시작부터 파이어베이스 에러가 발생했다.

 

 

 

 

FirebaseError: [code=permission-denied]: Missing or insufficient permissions. 

Firebase의 데이터베이스나 스토리지 등 접근 시에, 사용자에게 필요한 권한이 없거나 부족하여 접근이 거부되었을 때 나타나는 오류이다. 

 

 

 

 

해결방법 

 

Firebase 콘솔에서 해당 프로젝트의 데이터베이스나 스토리지 규칙을 확인하고 권한 설정을 바꿔줘야 한다. 

아래와 같이 파이어스토어 규칙에 들어가 보면 노란색 동그라미 친 부분이 false로 되어 있을 것이다.

true로 변경만 해주면 된다.

 

 

 

 

 

 

 

그러면 아래와 같이 유저 정보 저장이 정상적으로 완료된 것을 볼 수 있다.

 

 

 

 

 

 

 

보안을 위해 Cloud Firestore 보안 규칙을 이용하면 조금 더 사용자의 권한을 세부적으로 설정할 수 있다.

이에 관해서는 API key와 .env에 관련한 포스팅에서 다룬 적이 있어 아래에 같이 링크를 첨부한다.

 

 

Cloud Firestore 보안 규칙 시작하기  |  Firebase

Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 Cloud Firestore 보안 규칙 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하

firebase.google.com

 

 

파이어베이스 API key를 .env에 넣어서 보호하고 싶었습니다만,

파이어베이스 API key가 노출되지 않도록 주의해야 한다고 하는데 , 과연 API key가 노출되면 어떤 문제점이 있을까? - API key를 통해 파이어베이스 데이터베이스나 저장소에 접근하고 데이터를 읽거

zestlumen.tistory.com