Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Быстрая проверка правил безопасности Firebase

Чтобы быстро протестировать обновленные правила безопасности Firebase в консоли Firebase, используйте площадку для игры с правилами.

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

Используйте игровую площадку для правил

  1. Откройте Firebase консоли и выберите проект.
  2. Затем в навигации по продукту выполните одно из следующих действий:
    • Выберите в реальном времени базы данных, Облако Firestore или хранения, в зависимости от обстоятельств, а затем щелкните Правила для перехода к редактору правил.
  3. После того как вы сделали изменения, нажмите кнопку Правила Playground из редактора.
  4. В настройках правил площадка, выбрать параметры для тестирования, в том числе:
    • Тестирование чтения или записи.
    • Конкретное Расположение в вашей базе данных или хранения ведра, в качестве пути.
    • Тип аутентификации - неаутентифицированный, аутентифицированный анонимный пользователь или определенный идентификатор пользователя.
    • Данные, относящиеся к конкретному документу, на которые конкретно ссылаются ваши правила (например, если ваши правила требуют наличия определенного поля, прежде чем разрешить запись).
  5. Нажмите кнопку Run и посмотрите на результаты в баннере над редактором.

Пример сценария игровой площадки с правилами

Протестируйте поведение Rules Playground с помощью следующего примера сценария и основных правил.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

База данных в реальном времени

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Облачное хранилище

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • В редакторе правил добавьте указанное выше правило.

  • Выберите получить из выпадающего меню типа моделирования и введите правильный путь в поле Location.

  • Переключение на проверку подлинности и выберите тип аутентификации от поставщика drodpdown.

  • Введите пользовательские детали ID и нажмите кнопку Выполнить.

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