Firebase App Check

O App Check ajuda a proteger seus recursos da API contra abusos impedindo que clientes não autorizados acessem seus recursos de back-end. Ele funciona com os serviços do Firebase, do Google Cloud e com as suas APIs para manter os recursos seguros.

Com o App Check, os dispositivos que executam seu app vão usar um app ou provedor de atestado de dispositivos que confirma 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.

No momento, o App Check funciona com os seguintes produtos do Firebase:

Produtos do Firebase com suporte
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)

O App Check também é usado para proteger recursos de back-end que não são do Firebase.

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 Firebase e a back-ends personalizados ao exigir que as chamadas de API contenham um token válido do Firebase 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 até um milhão de chamadas por mês. Consulte os preços do reCAPTCHA Enterprise.

Primeiros passos

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 Firebase:

iOS+ Android Web Flutter