Quando você chama uma API diretamente de um app para dispositivos móveis ou da Web (por exemplo, as APIs que permitem acesso a modelos de IA generativa), ela fica vulnerável a abusos por clientes não autorizados. Para ajudar a proteger essas APIs, use o Firebase App Check para verificar se todas as chamadas de API recebidas são do seu app real.
O Firebase AI Logic fornece um gateway de proxy que permite a integração com o Firebase App Check e protege as APIs de modelo de IA generativa chamadas pelos seus apps para dispositivos móveis e da Web. Usar App Check com os SDKs Firebase AI Logic é compatível com todas as nossas configurações:
Protege os dois provedores da "API Gemini": Gemini Developer API e Vertex AI Gemini API.
Protege todos os modelos compatíveis, tanto os Gemini quanto os Imagen.
Resumo de alto nível de como o App Check funciona
Com o App Check, os dispositivos que executam seu app usam um app ou provedor de atestado de dispositivos que verifica um ou ambos os itens a seguir:
- 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 usando um SDK do Firebase AI Logic. 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.
Você pode encontrar informações detalhadas sobre App Check na documentação, incluindo cotas e limites.
Provedores disponíveis e instruções de implementação
O App Check tem suporte integrado para usar os seguintes serviços como provedores de atestado. Clique no link de um provedor para conferir a documentação App Check dele, incluindo descrições e instruções de implementação.
- Plataformas da Apple: DeviceCheck ou App Attest
- Android: Play Integrity
- Web: reCAPTCHA Enterprise
- Flutter: compatível com todos os provedores acima
(confira as instruções específicas do Flutter)
- Consulte também os requisitos especiais de instanciação para Flutter e App Check
- Unity: compatível com todos os provedores acima (consulte instruções específicas do Unity)
Se esses provedores não forem suficientes para suas necessidades, você também poderá implementar seu próprio serviço que usa um provedor de atestado terceirizado ou suas próprias técnicas de atestado (para mais detalhes, consulte a documentação do App Check).
Instanciação especial necessária para o Flutter
Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página. |
Ao usar App Check com Firebase AI Logic em apps Flutter, é necessário transmitir explicitamente App Check durante a instanciação, assim:
// ...
final ai = await FirebaseAI.googleAI(
appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
);
// ...
Entenda como o Firebase AI Logic se integra ao App Check
Para usar os SDKs do Firebase AI Logic, a
API do Firebase AI Logic (firebasevertexai.googleapis.com
)
precisa estar ativada no seu projeto do Firebase. Isso acontece porque as solicitações feitas pelos SDKs do
Firebase AI Logic são enviadas primeiro ao servidor do Firebase AI Logic, que atua como um gateway de proxy em que a verificação do Firebase App Check
acontece antes de a solicitação ser permitida para o back-end do provedor
"Gemini API" escolhido e as APIs para acessar os modelos do Gemini
e do Imagen.