문제 상황
내가 처음 파이어베이스 연결할 때 테스트 모드로 설정해둬가지고 곧 클라이언트 액세스가 만료되니 보안 규칙을 수정하라고 메일이 날아왔다.
우선, (나처럼) 테스트 모드에서 개발을 시작한 경우 보안 규칙 탭에 들어가보면 다음과 같이 작성되어 있는 코드를 확인할 수 있을 것이다.
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시간 이내에 규칙을 수정했다면 변경사항이 반영되지 않을 수 있습니다.
라고 하니, 새로 수정된 규칙이 잘 반영되었는지는 내일 다시 확인 해봐야 할 듯 하다.
+ 다음날... 또 날아왔다...
왜 그럴까 싶어서 규칙 탭을 다시 한 번 확인해봤는데, 어제 규칙을 수정한 후에 다시 빌드를 했더니 테스트모드로 다시 규칙이 수정되었다..
빌드 시 수정된 규칙이 반영되게 해야 할 것 같다.
'Dev > Firebase' 카테고리의 다른 글
프로젝트 초기에 Cloud Firestore가 적합한 이유 (0) | 2023.12.29 |
---|---|
Firebase Hosting 시 GitHub Actions 사용해서 CI/CD 구축하기 (0) | 2023.09.12 |
Google Firebase 호스팅하기 (0) | 2023.04.03 |
[Firebase] 빌드 시 수정된 규칙이 자동으로 적용되게 하기 (0) | 2022.10.24 |