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