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

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

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

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

Узнайте больше о языке Firebase Security Rules .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Развернуть правила

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