지금까지 보안은 앱 개발에서 가장 복잡한 부분 중 하나였습니다. 대부분의 애플리케이션에서 개발자는 인증(사용자가 누구인지) 및 승인(사용자가 무엇을 할 수 있는지)을 처리하는 서버를 직접 구축하여 실행해야 합니다. 인증 및 승인은 제품의 성공에 필수적이지만 설정하기가 어렵고 제대로 구현하기란 더욱 어렵습니다.
Firebase Authentication를 통해 계정을 쉽게 인증할 수 있는 방법과 비슷합니다. 사용자, Cloud Storage용 Firebase Security Rules을(를) 사용하면 사용자를 쉽게 승인할 수 있습니다. 요청을 검증할 수 있습니다 Cloud Storage Security Rules는 자동으로 복잡성을 관리하여 경로 기반 권한을 지정할 수 있습니다. 단 몇 줄의 코드로 Cloud Storage 요청을 업로드 크기를 제한할 수 있습니다
Firebase Realtime Database에도 다음과 같은 유사한 기능이 있습니다. Firebase Realtime Database Security Rules
인증
사용자가 누구인지 파악하는 것은 애플리케이션 빌드의 중요한 부분이며,
Firebase Authentication는 사용하기 쉽고 안전한 클라이언트 측 전용 솔루션을 제공합니다.
있습니다 Cloud Storage의 Firebase Security Rules, Firebase Authentication와(과) 비슷함
사용자 기반 보안에 사용됩니다 사용자가 Firebase Authentication로 인증되면 Cloud Storage Security Rules의 request.auth
변수가 사용자의 고유 ID(request.auth.uid
) 및 기타 모든 사용자 정보를 토큰(request.auth.token
)에 포함하는 객체가 됩니다. 사용자가 인증되지 않은 경우 request.auth
는 null
입니다. 이를 통해 데이터 액세스를 사용자별로 안전하게 제어할 수 있습니다. 자세한 내용은
인증 섹션을 참조하세요.
승인
사용자 식별은 보안의 일부에 불과합니다. 그들이 누구인지 알게 되면 Cloud Storage에 있는 파일에 대한 액세스를 제어할 방법이 필요합니다.
Cloud Storage를 사용하면 파일별 및 경로별 승인을 지정할 수 있습니다.
앱의 파일에 대한 액세스 권한을 결정합니다.
예를 들어 기본 Cloud Storage Security Rules에는 Firebase Authentication가 필요합니다.
를 사용하여 모든 파일에서 read
또는 write
작업을 수행할 수 있습니다.
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Firebase Console에서 Firebase 앱을 선택하여 이러한 규칙을 수정할 수 있습니다.
Storage 섹션의 Rules
탭을 확인합니다.
데이터 검증
Cloud Storage의 Firebase Security Rules는 파일 이름 및 경로 검증뿐만 아니라 contentType
및 size
와 같은 파일 메타데이터 속성 검증을 비롯한 데이터 유효성 검사에도 사용할 수 있습니다.
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }