Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

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

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

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

Авторизация

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

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

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

Вы можете изменить эти правила, выбрав приложение Firebase в Firebase консоли и просмотр Rules вкладки раздела хранения.

Проверка данных

Firebase Правила безопасности для Cloud Storage можно также использовать для проверки данных, в том числе проверки имя файла и путь к нему , а также свойства метаданных файла , такие как 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/.*');
    }
  }
}

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

  • Начало планирования развития правил для ваших ведер Облака хранения.

  • Подробнее об обеспечении данных с использованием правил безопасности.