Firebase App Check

App Check помогает защитить серверную часть приложения от злоупотреблений, запрещая неавторизованным клиентам доступ к ресурсам. Он работает как с сервисами Google (включая Firebase и сервисы Google Cloud), так и с вашими собственными серверными частями, чтобы защитить ваши ресурсы.

С помощью App Check устройства, на которых запущено ваше приложение, будут использовать поставщика аттестации приложений или устройств, который подтверждает одно или оба из следующих утверждений:

  • Запросы поступают из вашего настоящего приложения.
  • Запросы отправляются с немодифицированного устройства.

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

В App Check встроена поддержка следующих поставщиков подтверждения:

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

App Check работает со следующими сервисами Google:

Поддерживаемые сервисы Firebase и Google Cloud
Firebase Authentication (предварительная версия)
Firebase SQL Connect
Cloud Firestore
Firebase Realtime Database
Cloud Storage for Firebase
Cloud Functions for Firebase (только вызываемые функции)
Firebase AI Logic
Поддерживаемые сервисы платформы Google Карт
Maps JavaScript API
Places API (новая версия)
Navigation SDK (Android и iOS).
Другие поддерживаемые сервисы Google
Google Identity для iOS

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

Как начать работу

Принципы работы

Если вы включите App Check для сервиса и добавите клиентский SDK в приложение, периодически будет происходить следующее:

  1. Ваше приложение взаимодействует с выбранным вами поставщиком, чтобы получить подтверждение подлинности приложения или устройства (или и того, и другого, в зависимости от поставщика).
  2. Затем подтверждение отправляется на App Check сервер, который проверяет его действительность с помощью параметров, зарегистрированных в приложении, и возвращает приложению App Check токен с указанием срока действия. Этот токен может содержать информацию о материале подтверждения, который он проверил.
  3. Клиентский SDK App Check кэширует токен в приложении, чтобы его можно было отправлять вместе с запросами к защищенным сервисам.

Сервис, защищенный с помощью App Check, принимает только запросы, сопровождаемые действительным токеном App Check.

Насколько надежна защита, которую обеспечивает App Check?

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

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

Квоты и лимиты

Использование App Check регулируется квотами и лимитами поставщиков подтверждения, которых вы используете.

  • Доступ к DeviceCheck и App Attest регулируется квотами и ограничениями, установленными Apple.

  • Для стандартного уровня использования Play Integrity API установлено ограничение в 10 000 вызовов в день. Информацию о том, как повысить уровень использования, можно найти в документации по Play Integrity API.

  • reCAPTCHA Enterprise позволяет бесплатно проводить до 10 000 проверок в месяц. За каждую проверку сверх этого лимита взимается плата. Ознакомьтесь с тарифами на reCAPTCHA.

Кроме того, в сервисе App Check действуют квоты на количество запросов, которые он может обработать в рамках одного проекта. Однако при обычном использовании эти квоты, как правило, не исчерпываются. Если вы считаете, что можете превысить квоты, обратитесь в службу поддержки Firebase.

Начать

Готовы начать?

Платформы Apple

DeviceCheck App Attest reCAPTCHA Enterprise

Android

Play Integrity reCAPTCHA Enterprise

Веб-приложение

reCAPTCHA Enterprise

Flutter

Поставщики по умолчанию reCAPTCHA Enterprise

Unity

Поставщики по умолчанию

C++

Поставщики по умолчанию

Как реализовать собственного поставщика App Check

Специальные поставщики

Как использовать App Check для защиты ресурсов собственного внутреннего сервиса

Выберите платформу:

iOS+ Android Веб Flutter Unity C++

Как использовать App Check для локальной разработки и сред CI/CD

Выберите платформу:

iOS+ Android Веб Flutter Unity C++