Правила безопасности Firebase обеспечивают надежную и полностью настраиваемую защиту ваших данных в Cloud Firestore , Realtime Database и Cloud Storage . Вы можете легко начать работу с Rules , следуя инструкциям в этом руководстве, защитив свои данные и приложение от злоумышленников.
Разберитесь в языке правил безопасности Firebase.
Прежде чем начать писать правила, стоит уделить время изучению языка правил безопасности Firebase для используемых вами продуктов Firebase. Realtime Database для своих Rules используется синтаксис, похожий на JavaScript, и структура JSON.
Начните с изучения базового синтаксиса языка правил безопасности Firebase .
Настройка Authentication
Если вы еще этого не сделали, добавьте Firebase Authentication в свое приложение . Firebase Authentication поддерживает множество распространенных методов аутентификации и интегрируется с правилами безопасности Firebase, предоставляя комплексные возможности проверки.
Вы можете настроить дополнительные, пользовательские данные для аутентификации вашего приложения.
Узнайте больше о правилах безопасности Firebase и Firebase Authentication .
Определите структуру ваших данных и правил.
Определите данные для обеспечения безопасности.
Способ структурирования данных может повлиять на структуру и реализацию правил. При определении структур данных учитывайте, какое влияние они могут оказать на структуру Rules .
Например, в Realtime Database вам может понадобиться добавить поле, обозначающее конкретную роль для каждого пользователя. Затем ваши правила смогут считывать это поле и использовать его для предоставления доступа на основе ролей.
При определении архитектуры данных и правил учитывайте, как правила каскадируются или не каскадируются в зависимости от используемого продукта. В Realtime Database правила работают сверху вниз, при этом правила на более низком уровне переопределяют правила на более глубоком уровне. Если правило предоставляет права на чтение или запись по определенному пути, то оно также предоставляет доступ ко всем дочерним узлам под ним. В отличие от этого, в Cloud Firestore и Cloud Storage правила применяются только на определенных уровнях иерархии данных, и вы пишете явные правила для управления доступом к различным уровням.
Просмотрите свои правила
Чтобы просмотреть существующие Rules , используйте либо интерфейс командной строки Firebase , либо консоль Firebase . Убедитесь, что вы редактируете правила одним и тем же способом, последовательно, чтобы избежать случайной перезаписи обновлений. Если вы не уверены, соответствуют ли ваши локально определенные правила последним обновлениям, консоль Firebase всегда отображает самую последнюю развернутую версию ваших правил безопасности Firebase.
Чтобы получить доступ к правилам из консоли Firebase , выберите свой проект, затем в левой панели навигации нажмите «База данных реального времени» . После того, как вы окажетесь в нужной базе данных или хранилище, нажмите Rules .
Чтобы получить доступ к своим правилам из Firebase CLI, перейдите к файлу правил, указанному в вашем файле firebase.json .
Напишите основные правила
В процессе разработки приложения и изучения Rules попробуйте внедрить Rules для решения нескольких основных задач , включая следующие:
- Только для владельцев контента: Ограничить доступ к контенту для каждого пользователя.
- Смешанный доступ: ограничить доступ на запись для каждого пользователя, но разрешить публичный доступ на чтение.
- Доступ на основе атрибутов: ограничение доступа для определенной группы или типа пользователей.
Проверьте свои правила
Если вы настраиваете правила безопасности Firebase в консоли Firebase , вы можете использовать Firebase Rules Playground для быстрой проверки работоспособности. Однако мы рекомендуем провести более тщательное тестирование с помощью Local Emulator Suite прежде чем развертывать изменения в рабочей среде.
Развернуть правила
Для развертывания правил в рабочей среде используйте консоль Firebase или Firebase CLI. Следуйте инструкциям, описанным в разделе «Управление и развертывание правил безопасности Firebase» .