본문 바로가기
Dev/Firebase

[Firebase] Cloud Firestore 데이터베이스에 대한 클라이언트 액세스가 4일 후에 만료됩니다

by 그랴 2022. 10. 10.

문제 상황

내가 처음 파이어베이스 연결할 때 테스트 모드로 설정해둬가지고 곧 클라이언트 액세스가 만료되니 보안 규칙을 수정하라고 메일이 날아왔다.


우선, (나처럼) 테스트 모드에서 개발을 시작한 경우 보안 규칙 탭에 들어가보면 다음과 같이 작성되어 있는 코드를 확인할 수 있을 것이다.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2022, 10, 14);
    }
  }
}

 

Cloud Firestore 보안 규칙

Cloud Firestore 보안 규칙을 사용하면 인프라를 관리하거나 서버 측 인증 및 승인 코드를 작성할 필요 없이 사용자를 위한 앱 개발에만 집중할 수 있다 (고 한다. 공식 문서에서).

 

1. 보안 규칙 버전 2

  • 보안 규칙의 첫 번째 줄에 rules_version = '2';를 추가하여 버전 2를 선택해야 합니다.
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

2. 규칙 작성

  • 모든 Cloud Firestore 보안 규칙은 2가지로 구성된다.
    • 데이터베이스의 문서를 식별하는 match 구문
    • 이러한 문서에 대한 액세스를 제어하는 allow 표현식
service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

 

더보기

📌 내가 작성한 규칙 (예시)

 

현재 규칙을 보면, 특정 날짜 이전까지만 접근할 수 있도록 되어 있는데, r기간을 늘려주었다!

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2030, 10, 14);
    }
  }
}

 

규칙 코드를 수정하면 다음과 같이 화면이 변한다.

게시 버튼을 눌러준다.

 

분석은 매일 실행됩니다. 지난 24시간 이내에 규칙을 수정했다면 변경사항이 반영되지 않을 수 있습니다.

 

라고 하니, 새로 수정된 규칙이 잘 반영되었는지는 내일 다시 확인 해봐야 할 듯 하다.

 


 

+ 다음날... 또 날아왔다...

왜 그럴까 싶어서 규칙 탭을 다시 한 번 확인해봤는데, 어제 규칙을 수정한 후에 다시 빌드를 했더니 테스트모드로 다시 규칙이 수정되었다..

 

빌드 시 수정된 규칙이 반영되게 해야 할 것 같다.