Firebase App Check
App Check помогает защитить серверную часть приложения от злоупотреблений, запрещая неавторизованным клиентам доступ к ресурсам. Он работает как с сервисами Google (включая Firebase и сервисы Google Cloud), так и с вашими собственными серверными частями, чтобы защитить ваши ресурсы.
С помощью App Check устройства, на которых запущено ваше приложение, будут использовать поставщика аттестации приложений или устройств, который подтверждает одно или оба из следующих утверждений:
- Запросы поступают из вашего настоящего приложения.
- Запросы отправляются с немодифицированного устройства.
Эта аттестация прикрепляется к каждому запросу, который ваше приложение отправляет в указанные вами API. Если вы включите принудительное применение App Check, запросы от клиентов без действительного подтверждения будут отклоняться, как и любые запросы, исходящие от приложения или платформы, которые вы не авторизовали.
В App Check встроена поддержка следующих поставщиков подтверждения:
Платформы Apple: DeviceCheck | App Attest | reCAPTCHA Enterprise
Платформы Android: Play Integrity | reCAPTCHA Enterprise
Веб-сайт: reCAPTCHA Enterprise
Если этого недостаточно, вы можете реализовать собственный сервис, используя стороннего поставщика или собственные методы подтверждения.
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 в приложение, периодически будет происходить следующее:
- Ваше приложение взаимодействует с выбранным вами поставщиком, чтобы получить подтверждение подлинности приложения или устройства (или и того, и другого, в зависимости от поставщика).
- Затем подтверждение отправляется на App Check сервер, который проверяет его действительность с помощью параметров, зарегистрированных в приложении, и возвращает приложению App Check токен с указанием срока действия. Этот токен может содержать информацию о материале подтверждения, который он проверил.
- Клиентский SDK App Check кэширует токен в приложении, чтобы его можно было отправлять вместе с запросами к защищенным сервисам.
Сервис, защищенный с помощью App Check, принимает только запросы, сопровождаемые действительным токеном App Check.
Насколько надежна защита, которую обеспечивает App Check?
App Check полагается на надежность поставщиков подтверждений, чтобы определять подлинность приложений и устройств. Она предотвращает некоторые, но не все виды злоупотреблений, направленных на ваши серверные части. Использование App Check не гарантирует полного устранения злоупотреблений, но интеграция с App Check – важный шаг в защите внутренних ресурсов.
Как App Check связано с Firebase Authentication?
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
Веб-приложение
Flutter
Поставщики по умолчанию reCAPTCHA Enterprise
Unity
C++
Как реализовать собственного поставщика App Check
Как использовать App Check для защиты ресурсов собственного внутреннего сервиса
Выберите платформу:
iOS+ Android Веб Flutter Unity C++
Как использовать App Check для локальной разработки и сред CI/CD
Выберите платформу:
iOS+ Android Веб Flutter Unity C++