Firebase App Check

O App Check ajuda a proteger os back-ends do app contra abusos, impedindo que clientes não autorizados acessem seus recursos de back-end. Funciona com os Serviços do Google (incluindo Firebase e Google Cloud) e back-ends próprios para manter seus recursos seguros.

Com o App Check, os dispositivos que executam seu app usarão um app ou provedor de atestado de dispositivos que atesta um dos itens a seguir (ou ambos):

  • As solicitações vêm do seu app autêntico
  • As solicitações vêm de um dispositivo autêntico que não foi comprometido

Esse atestado é anexado a todas as solicitações que o app faz às APIs especificadas. Quando você ativa o App Check, as solicitações de clientes sem um atestado válido são recusadas, assim como qualquer solicitação originada de um app ou plataforma que você não autorizou.

O App Check tem suporte integrado para usar os seguintes serviços como provedores de atestado:

Se eles são insuficientes para as suas necessidades, você também pode implementar seu próprio serviço que usa um provedor de atestado terceirizado ou suas próprias técnicas de atestado.

O App Check funciona com os seguintes Serviços do Google:

Serviços do Google compatíveis
Realtime Database
Cloud Firestore
Cloud Storage
Cloud Functions (funções chamáveis)
Authentication (Beta. É necessário fazer upgrade para o Firebase Authentication com o Identity Platform)
Google Identity para iOS (Beta)
Vertex AI para Firebase (Pré-lançamento)

Ele também pode ser usado para proteger recursos de back-end que não são do Google.

Tudo pronto para começar?

Primeiros passos

Como funciona?

Quando você ativa o App Check em um serviço e inclui o SDK do cliente no seu app, as seguintes ações acontecem periodicamente:

  1. O app interage com o provedor escolhido para receber um atestado da autenticidade do app ou do dispositivo (ou ambos, dependendo do provedor).
  2. O atestado é enviado ao servidor do App Check, que verifica a validade dele usando parâmetros registrados com o app. Em seguida, retorna ao app um token com prazo de validade. Esse token pode reter algumas informações sobre o material de atestado verificado.
  3. O SDK do cliente do App Check armazena o token no seu app, pronto para ser enviado junto com todas as solicitações que o app faz para serviços protegidos.

Um serviço protegido pelo App Check só aceita solicitações acompanhadas de um token atual e válido.

Qual é o nível de segurança da verificação de apps?

O App Check depende da capacidade dos provedores de atestado para determinar a autenticidade do app ou do dispositivo. Ele impede que alguns vetores de abuso sejam direcionados para seus back-ends, mas não todos. O uso do App Check não garante a eliminação de todo abuso, mas, ao integrar com o App Check, você está tomando uma medida importante para a proteção do abuso para seus recursos de back-end.

O App Check e o Firebase Authentication são partes complementares da história de segurança do seu app. O Firebase Authentication fornece autenticação de usuários, protegendo-os. Já o App Check oferece atestados de autenticidade do app ou do dispositivo, o que protege você, o desenvolvedor. O App Check protege o acesso aos recursos do Google e a back-ends personalizados, ao exigir que as chamadas de API contenham um token válido do App Check. Esses dois conceitos funcionam juntos para ajudar a proteger seu app.

Cotas e limites

O uso do App Check está sujeito às cotas e aos limites dos provedores de atestado que você usa.

  • O acesso do DeviceCheck e do App Attest está sujeito às cotas ou limitações definidas pela Apple.

  • A API Play Integrity tem uma cota diária de 10.000 chamadas para o nível de uso da API padrão. Para ver informações sobre como aumentar seu nível de uso, consulte a documentação da API Play Integrity.

  • A SafetyNet tem uma cota diária de dez mil chamadas. Para mais informações sobre como solicitar um aumento de cota, consulte a documentação da SafetyNet.

  • O reCAPTCHA Enterprise não tem custo financeiro para 10 mil avaliações por mês e tem uma além desse custo. Consulte os preços do reCAPTCHA.

Começar

Tudo pronto para começar?

Plataformas da Apple

DeviceCheck App Attest

Android

Play Integrity

Web

reCAPTCHA Enterprise

Flutter

Provedores padrão

C++

Provedores padrão

Unity

Provedores padrão

Saiba como implementar um provedor personalizado do App Check:

Provedores personalizados

Saiba como usar o App Check para proteger seus recursos de back-end que não são do Google:

iOS+ Android Web Flutter