전통적으로 보안은 앱 개발에서 가장 복잡한 부분 중 하나였습니다. 대부분의 응용 프로그램에서 개발자는 인증(사용자가 누구인지) 및 권한 부여(사용자가 수행할 수 있는 작업)를 처리하는 서버를 구축하고 실행해야 합니다. 인증 및 권한 부여는 설정하기 어렵고 제대로 하기 어려우며 제품의 성공에 매우 중요합니다.
Firebase 인증을 사용하여 사용자를 쉽게 인증하는 것과 마찬가지로 Cloud Storage용 Firebase 보안 규칙을 사용하면 쉽게 사용자를 인증하고 요청을 검증할 수 있습니다. Cloud Storage 보안 규칙은 경로 기반 권한을 지정할 수 있도록 하여 복잡성을 관리합니다. 몇 줄의 코드만으로 Cloud Storage 요청을 특정 사용자로 제한하거나 업로드 크기를 제한하는 승인 규칙을 작성할 수 있습니다.
Firebase 실시간 데이터베이스에는 Firebase 실시간 데이터베이스 규칙 이라는 유사한 기능이 있습니다.
입증
사용자가 누구인지 아는 것은 애플리케이션 구축의 중요한 부분이며 Firebase 인증은 사용하기 쉽고 안전한 클라이언트 측 전용 인증 솔루션을 제공합니다. Cloud Storage용 Firebase 보안 규칙은 사용자 기반 보안을 위해 Firebase 인증에 연결됩니다. 사용자가 Firebase 인증으로 인증되면 Cloud Storage 보안 규칙의 request.auth
변수는 사용자의 고유 ID( request.auth.uid
) 및 토큰( request.auth.token
)의 다른 모든 사용자 정보를 포함하는 객체가 됩니다. . 사용자가 인증되지 않은 경우 request.auth
는 null
입니다. 이를 통해 사용자별로 데이터 액세스를 안전하게 제어할 수 있습니다. 인증 섹션에서 자세히 알아볼 수 있습니다.
권한 부여
사용자 식별은 보안의 일부일 뿐입니다. 그들이 누구인지 알게 되면 Cloud Storage의 파일에 대한 액세스를 제어할 방법이 필요합니다.
Cloud Storage를 사용하면 Google 서버에 상주하는 파일별 및 경로별 승인 규칙을 지정하고 앱의 파일에 대한 액세스를 결정할 수 있습니다. 예를 들어 기본 Cloud Storage 보안 규칙은 모든 파일에 대한 read
또는 write
작업을 수행하기 위해 Firebase 인증을 요구합니다.
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Firebase 콘솔 에서 Firebase 앱을 선택하고 저장소 섹션의 Rules
탭을 보면 이러한 규칙을 수정할 수 있습니다.
데이터 유효성 검사
Cloud Storage용 Firebase 보안 규칙은 파일 이름 및 경로와 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/.*'); } } }
다음 단계
Cloud Storage 버킷에 대한 계획 규칙 개발을 시작 하세요.
보안 규칙을 사용 하여 데이터를 보호하는 방법 에 대해 자세히 알아보세요.