Google 致力于为黑人社区推动种族平等。查看具体举措

Правила безопасности Firebase

Используйте наши гибкие, расширяемые правила безопасности Firebase, чтобы защитить свои данные в Cloud Firestore, базе данных Firebase Realtime и облачном хранилище.

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

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

Узнайте больше о том, как настроить правила для определенных продуктов Firebase, которые вы используете в своем приложении, и о том, как поведение правил различается в разных продуктах Firebase.

Ключевые возможности

Гибкость Напишите собственные правила, которые имеют смысл для структуры и поведения вашего приложения. Правила используют языки, которые позволяют вам использовать ваши собственные данные для авторизации доступа.
Гранулярность Ваши правила могут быть настолько широкими или узкими, насколько вам нужно.
Независимая безопасность Поскольку правила определены вне вашего приложения (в консоли Firebase или Firebase CLI), клиенты не несут ответственности за обеспечение безопасности, ошибки не ставят под угрозу данные, и ваши данные всегда защищены.

Как они работают?

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

Для Cloud Firestore и Cloud Storage правила используют следующий синтаксис:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

Для базы данных реального времени правила на основе JSON используют следующий синтаксис:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Правила применяются как OR заявление, не AND заявление. Следовательно, если несколько правил соответствуют пути, и любое из соответствующих условий предоставляет доступ, правила предоставляют доступ к данным по этому пути. Следовательно, если широкое правило предоставляет доступ к данным, вы не можете ограничить его более конкретным правилом. Однако вы можете избежать этой проблемы, убедившись, что ваши правила не слишком пересекаются. Флаг Firebase Security Rules перекрывается в ваших сопоставленных путях как предупреждения компилятора.

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

Путь реализации

Интегрируйте SDK продукта Настройка Облако Firestore , Cloud Storage , или в реальном времени базы данных для вашего приложения.
Напишите свои правила безопасности Firebase Узнайте больше о том , как правила работы и установить некоторые основные правила
Проверьте свои правила безопасности Firebase Используйте эмуляторы Realtime Database и Cloud Firestore, чтобы протестировать поведение вашего приложения и проверить свои правила перед их развертыванием в производственной среде.
Разверните свои правила безопасности Firebase Используйте консоль Firebase или интерфейс командной строки Firebase для развертывания правил в рабочей среде.

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