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