Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

Правила безопасности 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 продукта Настройте Cloud Firestore , Cloud Storage или базу данных в реальном времени для своего приложения.
Напишите свои правила безопасности Firebase Узнайте больше о том, как работают Правила, и настройте некоторые основные правила.
Проверьте свои правила безопасности Firebase Используйте эмуляторы Realtime Database и Cloud Firestore, чтобы протестировать поведение вашего приложения и проверить свои правила перед их развертыванием в производственной среде.
Разверните свои правила безопасности Firebase Используйте консоль Firebase или интерфейс командной строки Firebase для развертывания правил в рабочей среде.

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