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

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

Чтобы получить помощь от ИИ, скопируйте запрос ниже и вставьте его в ИИ-агент для программирования, например Gemini в Android Studio, Antigravity, Claude Code, Codex или Cursor. Вы можете настроить запрос и выполнять итерации с агентом. Подробные инструкции по установке вы найдете в статье Навыки агента Firebase.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.

Понимать язык (Firebase Security Rules)

Прежде чем приступить к написанию правил, уделите время изучению языка Firebase Security Rules, который используется в продуктах Firebase. Cloud Storage использует надмножество Common Expression Language (CEL), которое опирается на операторы match и allow, задающие условие для доступа по определенному пути.

Для начала изучите основной синтаксис языка Firebase Security Rules.

Настроить Authentication

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

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

Подробнее о Firebase Security Rules и Firebase Authentication…

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

Тщательно структурируйте данные в соответствии с требованиями безопасности.

Структура данных может влиять на то, как вы будете создавать и применять правила. Определяя структуры данных, учитывайте, как они могут повлиять на структуру Security Rules.

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

При определении архитектуры данных и правил учитывайте, как правила каскадируются или не каскадируются в зависимости от вашего продукта. В Realtime Database правила применяются сверху вниз, то есть правила более высокого уровня переопределяют правила более низкого уровня. Если правило предоставляет разрешения на чтение или запись по определенному пути, оно также предоставляет доступ ко всем дочерним узлам под ним. В Cloud Firestore и Cloud Storage правила применяются только на определенных уровнях иерархии данных, и вы можете создавать явные правила для управления доступом к разным уровням.

Как посмотреть правила

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

Чтобы перейти к правилам в консоли Firebase, выберите проект и на панели навигации слева нажмите Storage (Хранилище). Перейдите в нужную базу данных или сегмент хранилища и нажмите Security Rules.

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

Как создавать простые правила

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

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

Тестирование правил

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

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

Разверните правила в рабочей среде с помощью консоли Firebase или интерфейса командной строки Firebase. Следуйте инструкциям в статье Как управлять Firebase Security Rules и развертывать его.