Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Чтобы быстро протестировать обновленные правила безопасности Firebase в консоли Firebase, используйте Rules Playground.

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

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

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

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

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

Облако 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;
    }
  }
}
  • В редакторе правил добавьте указанное выше правило.

  • Выберите get в раскрывающемся меню Simulation type и введите допустимый путь в поле Location .

  • Включите аутентификацию и выберите тип аутентификации в раскрывающемся списке Provider .

  • Введите данные идентификатора пользователя и нажмите « Выполнить» .

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