Запрос для ИИ: напиши правила безопасности 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 для 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 (описан на этой странице).

Использовать запрос

Эта возможность доступна при использовании MCP-сервера Firebase и навыков агента 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 в терминале для CLI или откройте приложение для компьютера.

  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