Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Общие сведения о правилах безопасности Firebase для облачного хранилища

Традиционно безопасность была одной из самых сложных частей разработки приложений. В большинстве приложений разработчики должны создать и запустить сервер, который обрабатывает аутентификацию (кто является пользователем) и авторизацию (что может делать пользователь). Аутентификацию и авторизацию сложно настроить, сложнее выполнить правильно, и они имеют решающее значение для успеха вашего продукта.

Подобно тому, как Firebase Authentication упрощает аутентификацию пользователей, правила безопасности Firebase для облачного хранилища упрощают авторизацию пользователей и проверку запросов. Правила безопасности хранилища управляют сложностью за вас, позволяя указывать разрешения на основе пути. Всего в нескольких строках кода вы можете написать правила авторизации, которые ограничивают запросы Google Cloud Storage определенному пользователю или ограничивают размер загрузки.

База данных Firebase Realtime имеет аналогичную функцию, которая называется Правила базы данных Firebase Realtime.

Аутентификация

Знание того, кто ваши пользователи, является важной частью создания приложения, и Firebase Authentication предоставляет простое в использовании, безопасное решение для аутентификации только на стороне клиента. Правила безопасности Firebase для облачного хранилища связаны с аутентификацией Firebase для обеспечения безопасности на основе пользователей. Когда пользователь аутентифицируется с помощью Firebase Authentication, переменная request.auth в правилах безопасности хранилища становится объектом, который содержит уникальный идентификатор пользователя ( request.auth.uid ) и всю другую информацию о пользователе в токене ( request.auth.token ). Когда пользователь не аутентифицирован, request.auth имеет значение null . Это позволяет вам безопасно контролировать доступ к данным для каждого пользователя. Вы можете узнать больше в разделе « Аутентификация ».

Авторизация

Идентификация вашего пользователя - это только часть безопасности. Как только вы узнаете, кто они, вам понадобится способ контролировать их доступ к файлам в Google Cloud Storage.

Google Cloud Storage позволяет вам указывать правила авторизации для каждого файла и пути, которые существуют на наших серверах, и определять доступ к файлам в вашем приложении. Например, правила безопасности хранилища по умолчанию требуют аутентификации Firebase для выполнения любых операций read или write для всех файлов:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Вы можете изменить эти правила, выбрав приложение Firebase в консоли Firebase и просмотрев вкладку « Rules » в разделе «Хранилище».

Валидация данных

Правила безопасности 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/.*');
    }
  }
}

Следующие шаги