Запрос для ИИ: напиши правила безопасности Firebase

Этот запрос поможет ИИ-помощнику (например, Google Antigravity) сгенерировать и улучшить Firebase Security Rules для вашего приложения. Вы можете использовать запрос, чтобы составить черновик Security Rules для распространенных сценариев, таких как предоставление доступа определенным пользователям, реализация разрешений на основе ролей и проверка данных.

Этот запрос предназначен для создания Security Rules для:

  • Cloud Firestore – защищенные коллекции и документы на основе логики вашего приложения.
  • Cloud Storage for Firebase: проверьте разрешения на доступ к сохраненным файлам.

Использование этого запроса поможет вам начать работу с надежной системой безопасности, но перед развертыванием Security Rules в рабочей среде всегда следует тщательно протестировать его. Подробнее о тестировании Security Rules рассказывается в статье Начало работы с Firebase Security Rules: тестирование Security Rules.

Требования

  • Ознакомьтесь с рекомендациями по работе с Firebase Security Rules.
  • Чтобы запустить модульное тестирование для Firebase Security Rules и использовать Firebase Local Emulator Suite, установите Node.js и Firebase CLI. Полные инструкции приведены в статье Как установить, настроить и интегрировать Firebase Local Emulator Suite.
  • Рекомендуется. Если вы ещё не сделали этого, установите Antigravity. Ниже описано, как включить и использовать навыки агента Firebase и MCP-сервер, чтобы сгенерировать Security Rules. Если вы предпочитаете использовать другого ИИ-агента для программирования, вы можете скопировать и вставить запрос для Cloud Firestore или Cloud Storage for Firebase из репозитория firebase-tools в выбранного вами ИИ-агента для программирования.
  • Навыки агента Firebase и MCP-сервер работают вместе, чтобы получать доступ к запросам, которые генерируют и проверяют Firebase Security Rules, а также помогают тестировать и развертывать Security Rules. Установите MCP-сервер Firebase прежде чем использовать эти инструменты для создания Firebase Security Rules.

Ограничения

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

  • Запрос предназначен для создания Firebase Security Rules для Cloud Firestore и Cloud Storage for Firebase. Он пока не может генерировать Security Rules для Firebase Realtime Database.

  • Firebase Security Rules не вызываются при доступе к базе данных или сегменту с сервера или из другой серверной среды, например при использовании Firebase Admin SDK. Если вы используете Admin SDK, то несете ответственность за управление авторизацией и проверку данных в коде на стороне сервера.

  • Gemini в Firebase в консоли Firebase не может генерировать Firebase Security Rules, даже если вы используете этот запрос. Вместо этого используйте альтернативного ИИ-помощника, у которого есть доступ к вашей базе кода, например Antigravity (о нем рассказывается на этой странице).

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

Эта возможность доступна при использовании Firebase MCP-сервера и навыков агента Firebase с совместимым ИИ-помощником (например, Antigravity) для создания Security Rules и тестов. Эти инструменты анализируют исходный код, чтобы помочь определить схемы данных и шаблоны доступа для Cloud Firestore и Cloud Storage. Они созданы для разработки Security Rules на основе принципа минимальных привилегий и попыток обнаружить уязвимости с помощью итеративных симуляций "атак". Чтобы помочь с окончательной проверкой, они предоставляют начальный набор модульных тестов с использованием @firebase/rules-unit-testing, что позволяет вам локально проверить логику безопасности с помощью Firebase Local Emulator Suite.

Чтобы использовать эти инструменты, выполните три шага, описанные в этом разделе:

  1. Создайте Security Rules и тесты.

  2. Проверьте результаты тестирования и проверки Security Rules.

  3. Разверните Security Rules в проекте Firebase.

Шаг 1. Создайте Security Rules и тесты

Настройте и запустите инструменты:

  1. Включите навыки агента Firebase:

    • Google Antigravity: следуйте инструкциям по настройке, чтобы установить плагин Firebase из Antigravity Marketplace. Вы также можете установить навыки на уровне проекта, выполнив следующую команду:

      npx skills add firebase/agent-skills --agent=antigravity
    • Другие агенты на основе ИИ. Следуйте инструкциям по навыкам агента и MCP-серверу.

  2. Запустите ИИ-помощника (например, введите agy в терминале, чтобы открыть интерфейс командной строки, или откройте приложение для компьютера).

  3. В корневом каталоге проекта попросите агента сгенерировать Security Rules для Cloud Firestore или Cloud Storage в зависимости от того, как ваш ИИ-агент взаимодействует с запросами MCP:

    • Для агентов, которые используют естественный язык (например, Antigravity), создайте запрос на естественном языке.

      • Создать Security Rules для Cloud Firestore:

        Generate Firestore security rules for this project, then run the unit tests.
        

        В родительском каталоге агент создает файл firestore.rules и новый каталог security_rules_test_firestore, содержащий проект Node.js с модульным тестированием для сгенерированного файла Security Rules.

      • Создать Security Rules для Cloud Storage for Firebase:

        Generate Cloud Storage security rules for this project, then run the unit tests.
        

        В родительском каталоге агент создает файл storage.rules и новый каталог security_rules_test_storage, в котором находится проект Node.js с модульным тестированием для сгенерированного файла Security Rules.

    • Для агентов программирования, которые поддерживают слеш-команды (например, Claude Code), используйте следующие команды:

      • Создать Security Rules для Cloud Firestore:

        /firestore:generate_security_rules
        
      • Создать Security Rules для Cloud Storage for Firebase:

        /storage:generate_security_rules
        
    • Для агентов программирования, которые не поддерживают интеграцию запросов MCP, можно скопировать шаблон запроса из репозитория firebase-tools и вставить его в чат агента.

      • Сгенерируйте Security Rules для Cloud Firestore.Скопируйте запрос из Cloud Firestore.
      • Сгенерировать Security Rules для Cloud Storage for Firebase: скопируйте запрос из Cloud Storage for Firebase.

Шаг 2. Проверьте результаты тестирования и проверки Security Rules

  1. Убедитесь, что ваш ИИ-агент выполнил следующие действия: После запуска инструментов вы должны получить сгенерированную сводку.

    • Проверка синтаксиса. После создания Security Rules ваш ИИ-агент по написанию кода автоматически проверяет синтаксис с помощью команды firebase_validate_security_rules с MCP-сервера Firebase.

    • Модульное тестирование. После проверки синтаксиса ИИ-агент пытается запустить сгенерированные модульные тесты с помощью Firebase Local Emulator Suite.

  2. Если тесты не запускаются автоматически, запустите Firebase Local Emulator Suite в отдельном терминале, а затем выполните одно из следующих действий:

    • Вариант 1. Попросите ИИ-помощника запустить тесты

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • Вариант 2. Запустите тесты вручную, следуя инструкциям в файле README.md в каталоге rules_test или storage_rules_test.

Шаг 3. Разверните Security Rules в проекте Firebase

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

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage