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 CLI), клиенты не несут ответственности за обеспечение безопасности, ошибки не ставят под угрозу данные, и ваши данные всегда защищены. |
Как они работают?
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 CLI. |
Следующие шаги
- Разберитесь в языке Firebase Security Rules .
- Узнайте больше о том, как работают Firebase Security Rules .
- Ознакомьтесь с распространенными ошибками, которых следует избегать .