Правила безопасности Firebase
Используйте наши гибкие и расширяемые правила безопасности Firebase, чтобы защитить ваши данные в Cloud Firestore, базе данных Firebase Realtime и облачном хранилище.
Правила безопасности Firebase стоят между вашими данными и злоумышленниками. Вы можете написать простые или сложные правила, которые защищают данные вашего приложения на том уровне детализации, который требуется вашему конкретному приложению.
Правила безопасности Firebase используют расширяемые и гибкие языки конфигурации, чтобы определить, к каким данным ваши пользователи могут получить доступ для базы данных реального времени, Cloud Firestore и облачного хранилища. Правила безопасности базы данных Firebase Realtime используют JSON в определениях правил, а правила безопасности Cloud Firestore и правила безопасности Firebase для облачного хранилища используют уникальный язык, созданный для поддержки более сложных структур, специфичных для правил.
Узнайте больше о том, как настроить правила для конкретных продуктов Firebase, которые вы используете в своем приложении, и о том, как поведение правил различается в разных продуктах Firebase.
Ключевые возможности
Гибкость | Напишите собственные правила, которые будут иметь смысл для структуры и поведения вашего приложения. В правилах используются языки, которые позволяют вам использовать собственные данные для авторизации доступа. |
Детализация | Ваши правила могут быть настолько широкими или узкими, насколько вам нужно. |
Независимая охрана | Поскольку правила определяются вне вашего приложения (в консоли Firebase или интерфейсе командной строки Firebase), клиенты не несут ответственности за обеспечение безопасности, ошибки не ставят под угрозу данные, и ваши данные всегда защищены. |
Как они работают?
Правила безопасности 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 перекрывается в сопоставленных путях в качестве предупреждений компилятора.
Правила безопасности Firebase также могут использовать аутентификацию для предоставления пользовательских разрешений, а устанавливаемые вами условия могут быть очень простыми или невероятно сложными. Узнайте больше о языке и поведении правил, прежде чем приступать к написанию правил.
Путь реализации
Интегрируйте SDK продукта | Настройте Cloud Firestore , Cloud Storage или базу данных реального времени для своего приложения. | |
Напишите свои правила безопасности Firebase | Узнайте больше о том , как работают правила , и настройте некоторые базовые правила. | |
Проверьте свои правила безопасности Firebase | Используйте эмуляторы базы данных реального времени и Cloud Firestore, чтобы протестировать поведение вашего приложения и проверить правила перед их развертыванием в рабочей среде. | |
Разверните правила безопасности Firebase | Используйте консоль Firebase или интерфейс командной строки Firebase для развертывания правил в рабочей среде. |
Следующие шаги
- Понимать язык правил безопасности Firebase .
- Узнайте больше о том, как работают правила безопасности Firebase .
- Узнайте о типичных ошибках, которых следует избегать .