Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

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

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

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

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

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

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

авторизация

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

Облачное хранилище позволяет вам указать правила авторизации для каждого файла и для каждого пути, которые существуют на наших серверах, и определить доступ к файлам в вашем приложении. Например, правила безопасности хранилища по умолчанию требуют Firebase Authentication для выполнения любых операций 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/.*');
    }
  }
}

Теперь, когда вы узнали основы того, что могут делать правила безопасности хранения, приступайте к работе !