Firebase Security Rules provide robust, completely customizable protection for your data in Cloud Firestore , Realtime Database , and Cloud Storage . You can easily get started with Security Rules following the steps in this guide, securing your data and protecting your app from malicious users.
Разберитесь в языке правил безопасности Firebase.
Before you start writing rules, it's worthwhile to take some time to review the specific Firebase Security Rules language for the Firebase products you're using. Realtime Database leverages a JavaScript-like syntax and JSON structure for its Security Rules .
Начните с изучения базового синтаксиса языка правил безопасности Firebase .
Настройка Authentication
If you haven't done it already, add Firebase Authentication to your app . Firebase Authentication supports many common authentication methods and integrates with Firebase Security Rules to provide comprehensive verification capabilities.
Вы можете настроить дополнительные, пользовательские данные для аутентификации вашего приложения.
Узнайте больше о правилах безопасности Firebase и Firebase Authentication .
Определите структуру ваших данных и правил.
Определите данные для обеспечения безопасности.
The way you structure your data might affect the way you structure and implement your rules. As you define your data structures, consider the implications they might have on your Security Rules structure.
Например, в Realtime Database вам может понадобиться добавить поле, обозначающее конкретную роль для каждого пользователя. Затем ваши правила смогут считывать это поле и использовать его для предоставления доступа на основе ролей.
При определении архитектуры данных и правил учитывайте, как правила каскадируются или не каскадируются в зависимости от используемого продукта. В Realtime Database правила работают сверху вниз, при этом правила на более низком уровне переопределяют правила на более глубоком уровне. Если правило предоставляет права на чтение или запись по определенному пути, то оно также предоставляет доступ ко всем дочерним узлам под ним. В отличие от этого, в Cloud Firestore и Cloud Storage правила применяются только на определенных уровнях иерархии данных, и вы пишете явные правила для управления доступом к различным уровням.
Просмотрите свои правила
Чтобы просмотреть существующие Security Rules , используйте либо интерфейс командной строки Firebase , либо консоль Firebase . Убедитесь, что вы редактируете правила одним и тем же способом, последовательно, чтобы избежать случайной перезаписи обновлений. Если вы не уверены, соответствуют ли ваши локально определенные правила последним обновлениям, консоль Firebase всегда отображает самую последнюю развернутую версию ваших правил безопасности Firebase.
To access your rules from the Firebase console , select your project, then in the left-hand navigation panel, click Realtime Database . Click Security Rules once you're in the correct database or storage bucket.
Чтобы получить доступ к своим правилам из Firebase CLI, перейдите к файлу правил, указанному в вашем файле firebase.json .
Напишите основные правила
В процессе разработки приложения и изучения Security Rules попробуйте внедрить Security Rules для решения нескольких основных задач , включая следующие:
- Только для владельцев контента: Ограничить доступ к контенту для каждого пользователя.
- Смешанный доступ: ограничить доступ на запись для каждого пользователя, но разрешить публичный доступ на чтение.
- Доступ на основе атрибутов: ограничение доступа для определенной группы или типа пользователей.
Проверьте свои правила
If you're setting up your Firebase Security Rules in the Firebase console, you can use the Firebase Rules Playground to quickly validate behavior. However, we recommend more thorough testing with the Local Emulator Suite before you deploy your changes to production.
Развернуть правила
Для развертывания правил в рабочей среде используйте консоль Firebase или Firebase CLI. Следуйте инструкциям, описанным в разделе «Управление и развертывание правил безопасности Firebase» .