Контрольный список мер безопасности для использования Firebase AI Logic

При прямом обращении к API Gemini из мобильных и веб-приложений защита вашей серверной инфраструктуры, квот и собственных запросов требует многоуровневого подхода к обеспечению безопасности. Ознакомьтесь с этим контрольным списком, чтобы внедрить рекомендуемые лучшие практики обеспечения безопасности для Firebase AI Logic .

Проверка приложения, устройства и пользователя

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

Принудительное выполнение Firebase App Check

Включите Firebase App Check , чтобы защитить API Gemini от злоупотреблений при прямом вызове из вашего приложения. При включенной App Check подтверждается, что входящие запросы исходят из вашего подлинного приложения и/или с неподготовленного устройства.

App Check поддерживает поставщиков аттестации для платформ Apple (DeviceCheck, App Attest или reCAPTCHA Enterprise ), Android (Play Integrity или reCAPTCHA Enterprise ) и веб-приложений ( reCAPTCHA Enterprise ). Он также поддерживает все эти поставщики для приложений Flutter и Unity.

Начиная с начала июля 2026 года, Firebase автоматически будет применять App Check для Firebase AI Logic во время пошаговой настройки в консоли Firebase . Если вы настроили Firebase AI Logic ранее, обязательно явно примените App Check . Для локальной разработки вы можете настроить отладочный провайдер App Check , а затем зарегистрировать свое приложение у поставщика аттестации для производственной среды перед выпуском для конечных пользователей.

Включите защиту от повторного воспроизведения с помощью токенов ограниченного использования.

В рамках настройки App Check рекомендуется включить защиту от повторного воспроизведения , чтобы токены App Check были одноразовыми . Эта опция обеспечивает расширенную защиту по сравнению с базовой и позволяет установить соответствующий уровень защиты для вашего приложения и сценариев использования.

Настройте ограничения для ваших ключей API Firebase.

Ключи API Firebase идентифицируют ваш проект и приложение Firebase при отправке запросов. Чтобы предотвратить несанкционированное использование ваших ключей API:

  • В консоли Google Cloud установите параметр «Ограничения приложения» , чтобы ограничить использование ключа только запросами от конкретного идентификатора пакета вашего приложения (Apple), имени пакета и отпечатка SHA-1 (Android) или HTTP-реферера (Web).

  • Проверьте список разрешенных «ограничений API» для каждого ключа:

    • Убедитесь, что Firebase AI Logic API ( firebasevertexai.googleapis.com ) находится в списке разрешенных сайтов.
    • Убедитесь, что в списке разрешенных API указаны только те сервисы Firebase, которые необходимы вашему приложению. Список необходимых API для ключей Firebase с ограничениями см. в соответствующем разделе.

Обратите внимание, что API-ключи, связанные с Firebase, используются только для идентификации проекта или приложения Firebase, а не для авторизации вызова API.

Ограничить обработку запросов только авторизованными пользователями.

Рекомендуется включить режим аутентификации пользователей , чтобы все запросы через Firebase AI Logic содержали действительные учетные данные из Firebase Authentication . Если запрос поступает от неаутентифицированного пользователя, он отклоняется с ошибкой 401: unauthenticated .

Оперативное обеспечение защиты и усиление требований к безопасности запросов.

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

Используйте шаблоны серверных приглашений

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

Ваше приложение ссылается только на идентификатор шаблона и передает динамические входные переменные. Шаблоны серверных подсказок также позволяют обновлять подсказки или переключать модели по запросу без выпуска новой версии приложения.

Проверка и очистка предоставленных клиентом переменных шаблона.

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

  • Перед передачей переменных в шаблон необходимо проверить и очистить весь пользовательский ввод на стороне клиента (например, установить ограничения по количеству символов и ожидаемые форматы).
  • Включите в свои шаблоны четкие системные инструкции, определяющие правила обработки пользовательского ввода.

Принудительное использование режима только шаблона

После того, как все функции вашего приложения начнут использовать шаблоны запросов сервера, рекомендуется включить режим работы только с шаблонами . В этом режиме Firebase AI Logic блокирует все прямые запросы к API Gemini без использования шаблонов ( 403: unauthorized ), предотвращая отправку злоумышленниками произвольных запросов или злоупотребление вашей квотой.

Мониторинг, лимиты и выставление счетов

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

Настройте мониторинг ИИ в консоли Firebase

Настройте мониторинг ИИ в консоли Firebase , чтобы получить представление о ключевых показателях, таких как количество запросов, задержка, использование токенов и частота ошибок (включая ошибки аутентификации 401 и блокировки только шаблонов 403 ). Вы также можете просмотреть отдельные трассировки в консоли Google Cloud .

Устанавливайте лимиты трафика и управляйте квотами.

Защитите свой проект от неожиданных всплесков использования и атак типа «отказ в доступе к кошельку»:

Избегайте неожиданных счетов с помощью оповещений и ограничений на расходы.

Если ваш проект Firebase использует тарифный план Blaze с оплатой по мере использования:

Следующие шаги