Firebase Security Rules
Используйте наши гибкие, расширяемые правила безопасности Firebase, чтобы защитить ваши данные в Cloud Firestore , Firebase Realtime Database и Cloud Storage .
Firebase Security Rules стоят между вашими данными и злоумышленниками. Вы можете написать простые или сложные правила, которые защищают данные вашего приложения на том уровне детализации, который требуется вашему конкретному приложению.
Firebase Security Rules используют расширяемые и гибкие языки конфигурации, чтобы определить, к каким данным ваши пользователи могут получить доступ для Realtime Database , Cloud Firestore и Cloud Storage . Firebase Realtime Database Security Rules используют JSON в определениях правил, а Cloud Firestore Security Rules и Firebase Security Rules для Cloud Storage используют уникальный язык, созданный для поддержки более сложных структур, специфичных для правил.
Узнайте больше о том, как настроить Rules для конкретных продуктов Firebase, которые вы используете в своем приложении, и о том, как поведение Rules различается в разных продуктах Firebase.
Ключевые возможности
Гибкость | Напишите собственные правила, которые будут иметь смысл для структуры и поведения вашего приложения. Rules используются языки, которые позволяют вам использовать собственные данные для авторизации доступа. |
Детализация | Ваши правила могут быть настолько широкими или узкими, насколько вам нужно. |
Независимая безопасность | Поскольку Rules определяются вне вашего приложения (в консоли Firebase или интерфейсе командной строки Firebase ), клиенты не несут ответственности за обеспечение безопасности, ошибки не ставят под угрозу данные, и ваши данные всегда защищены. |
Как они работают?
Firebase Security Rules работают, сопоставляя шаблон с путями к базе данных, а затем применяя специальные условия, чтобы разрешить доступ к данным по этим путям. Все Rules в продуктах Firebase имеют компонент сопоставления путей и условный оператор, обеспечивающий доступ для чтения или записи. Вы должны определить Rules для каждого продукта Firebase, который вы используете в своем приложении.
Для Cloud Firestore и Cloud Storage Rules используют следующий синтаксис:
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Для Realtime Database Rules на основе JSON используют следующий синтаксис:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Rules применяются как операторы OR
, а не операторы AND
. Следовательно, если несколько правил соответствуют пути и любое из совпадающих условий предоставляет доступ, Rules предоставляют доступ к данным по этому пути. Таким образом, если широкое правило предоставляет доступ к данным, вы не можете ограничить его более конкретным правилом. Однако вы можете избежать этой проблемы, убедившись, что ваши Rules не слишком сильно пересекаются. Флаг Firebase Security Rules перекрывается в сопоставленных путях в качестве предупреждений компилятора.
Firebase Security Rules также могут использовать Authentication для предоставления разрешений на основе пользователей, а устанавливаемые вами условия могут быть очень простыми или невероятно сложными. Прежде чем приступать к написанию Rules , узнайте больше о языке и поведении Rules .
Путь реализации
Интегрируйте SDK продукта | Настройте Cloud Firestore , Cloud Storage или Realtime Database для своего приложения. | |
Напишите свои Firebase Security Rules | Узнайте больше о том , как работают Rules , и настройте некоторые базовые Rules | |
Проверьте свои Firebase Security Rules | Используйте эмуляторы Realtime Database и Cloud Firestore чтобы протестировать поведение вашего приложения и проверить правила перед их развертыванием в рабочей среде. | |
Разверните Firebase Security Rules | Используйте консоль Firebase или интерфейс командной строки Firebase для развертывания правил в рабочей среде. |
Следующие шаги
- Понимать язык Firebase Security Rules .
- Узнайте больше о том, как работают Firebase Security Rules .
- Узнайте о типичных ошибках, которых следует избегать .