Начало работы с правилами безопасности Firebase

Правила безопасности Firebase обеспечивают надежную, полностью настраиваемую защиту ваших данных в Cloud Firestore, базе данных реального времени и облачном хранилище. Вы можете легко начать работу с правилами, следуя инструкциям в этом руководстве, защитив свои данные и приложение от злоумышленников.

Понимание языка правил безопасности Firebase

Прежде чем приступить к написанию правил, стоит потратить некоторое время на изучение конкретного языка правил безопасности Firebase для продуктов Firebase, которые вы используете. База данных реального времени использует синтаксис, подобный JavaScript, и структуру JSON для своих правил. В качестве альтернативы Cloud Firestore и Cloud Storage используют расширенный набор Common Expression Language (CEL), который опирается на операторы match allow , устанавливающие условие доступа по определенному пути.

Узнайте больше о языке правил безопасности Firebase .

Настройка аутентификации

Если вы еще этого не сделали, идентифицируйте своих пользователей с помощью Firebase Authentication . Аутентификация Firebase поддерживает множество распространенных методов аутентификации и интегрируется с правилами безопасности Firebase, обеспечивая комплексные возможности проверки.

Вы можете настроить дополнительную пользовательскую информацию аутентификации для своего приложения.

Узнайте больше о правилах безопасности Firebase и аутентификации Firebase .

Определите структуры данных и правил

То, как вы структурируете свои данные, может повлиять на то, как вы структурируете и реализуете свои правила. Определяя структуры данных, подумайте о том, какое влияние они могут оказать на структуру ваших правил.

Например, в Cloud Firestore вы можете включить поле, обозначающее конкретную роль для каждого пользователя. Затем ваши правила смогут прочитать это поле и использовать его для предоставления доступа на основе ролей.

Определяя архитектуру данных и правил, имейте в виду, что если какое-либо правило предоставляет доступ к набору данных, правила безопасности Firebase предоставляют доступ к этому набору данных. Другими словами, вы не можете уточнить доступ к подпути, если вы предоставили доступ на более высоком уровне иерархии данных.

Доступ к вашим правилам

Чтобы просмотреть существующие правила, используйте интерфейс командной строки Firebase или консоль Firebase. Обязательно редактируйте свои правила, используя один и тот же метод, последовательно, чтобы избежать ошибочной перезаписи обновлений. Если вы не уверены, отражают ли ваши локально определенные ��равила самые последние обновления, консоль Firebase всегда показывает самую последнюю развернутую версию ваших правил безопасности Firebase.

Чтобы получить доступ к своим правилам из консоли Firebase , выберите свой проект, затем перейдите к базе данных реального времени , Cloud Firestore или хранилищу . Нажмите «Правила» , как только вы окажетесь в нужной базе данных или сегменте хранилища.

Чтобы получить доступ к своим правилам из интерфейса командной строки Firebase, перейдите к файлу правил, указанному в файле firebase.json .

Напишите основные правила

Разрабатывая приложение и понимая Правила, попробуйте реализовать несколько основных Правил безопасности , включая следующие варианты использования:

  • Только для владельцев контента: Ограничьте доступ пользователя к контенту.
  • Смешанный доступ: Ограничьте доступ для записи для пользователя, но разрешите общий доступ для чтения.
  • Доступ на основе атрибутов: Ограничьте доступ группе или типу пользователей.

Проверьте свои правила

Чтобы полностью проверить поведение вашего приложения и проверить правила безопасности Firebase.
конфигурации используйте эмулятор Firebase для запуска и автоматизации модульных тестов в локальной среде.

Если вы настраиваете правила безопасности Firebase в консоли Firebase, вы можете использовать симулятор правил Firebase для быстрой проверки поведения. Однако мы рекомендуем провести более тщательное тестирование с помощью эмулятора Firebase, прежде чем развертывать изменения в рабочей среде.

Развертывание правил

Используйте консоль Firebase или интерфейс командной строки Firebase для развертывания правил в рабочей среде. Выполните действия, описанные в разделе «Управление и развертывание правил безопасности Firebase» .