Начало работы с правилами безопасности 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» .