É possível aplicar o modo de usuários autenticados no seu projeto do Firebase. Quando aplicado, todas as solicitações Gemini API via Firebase AI Logic precisam ser feitas por usuários autenticados do seu app. Especificamente, o usuário final do app precisa ser autenticado usando Firebase Authentication antes de enviar uma solicitação ao Firebase AI Logic do seu app. Se o usuário final não estiver autenticado, a solicitação será bloqueada.
Quando uma solicitação é bloqueada, a resposta é um erro 401: unauthenticated.
Considerações importantes
Confira as seguintes considerações importantes para o modo de usuários autenticados.
Quando o modo de usuários autenticados é aplicado
Quando o modo de usuários autenticados é aplicado, observe o seguinte:
Essa configuração é para todo o projeto do Firebase AI Logic.
- Ela se aplica a todos os apps registrados no projeto.
- Ela só se aplica ao projeto em que é aplicada.
Essa configuração bloqueia todas as solicitações via Firebase AI Logic que não enviam credenciais Firebase Authentication.
- O usuário precisa ser autenticado pelo Firebase Authentication antes de enviar a solicitação ao Firebase AI Logic.
- Essa configuração se aplica a todas as solicitações via Firebase AI Logic para a Gemini Developer API e a Vertex AI Gemini API.
- Essa configuração se aplica a todas as solicitações que usam modelos de comandos do servidor.
- Essa configuração não pode ser aplicada por usuário, por API ou por modelo.
Essa configuração não bloqueia Gemini API solicitações no seu projeto que são não via Firebase AI Logic.
Se você estiver usando híbrido / no dispositivo:
- Essa configuração bloqueia as solicitações para o modelo hospedado na nuvem se o usuário não estiver autenticado.
- Essa configuração não bloqueia as solicitações para o modelo no dispositivo, independentemente do estado de autenticação do usuário.
Se você estiver usando o Gemini Live API:
- Essa configuração bloqueia o uso da API Gemini Live para apps da Web ao usar Firebase AI Logic — mesmo para usuários autenticados. Isso inclui apps da Web que usam o SDK do Firebase para JavaScript ou apps da Web do Flutter.
Se você estiver usando a Firebase AI Logic API REST:
- Essa configuração bloqueia inferência solicitações que não enviam
Firebase Authentication credenciais. Isso inclui solicitações de modelos de comandos do servidor, como
templateGenerateContentoutemplateStreamGenerateContent. - Essa configuração não bloqueia solicitações do plano de controle (como as de gerenciamento de modelos e configurações) porque elas são protegidas pelo IAM.
- Essa configuração bloqueia inferência solicitações que não enviam
Firebase Authentication credenciais. Isso inclui solicitações de modelos de comandos do servidor, como
Essa configuração não bloqueia solicitações para
countTokens(a API Count Tokens).
Antes de aplicar o modo de usuários autenticados
Observe o seguinte antes de aplicar o modo de usuários autenticados:
Se você tiver versões do app que não usam Firebase Authentication:
- Essa configuração vai bloquear as solicitações via Firebase AI Logic de ssas versões do app.
- Verifique se todos os clientes ativos foram atualizados para usar Firebase Authentication antes de aplicar o modo de usuários autenticados.
Versões mais antigas do plug-in do Flutter exigem uma instanciação especial para enviar Firebase Authentication credenciais com as solicitações.
- Se o app usa o plug-in do Flutter
firebase_aiv3.11.0 ou mais antigo (BoM v4.12.0 ou mais antigo) e não transmite Authentication durante a instanciação, essa configuração vai bloquear as solicitações via Firebase AI Logic — mesmo para usuários autenticados. - Verifique se todos os clientes ativos do Flutter foram atualizados para uma versão mais recente do plug-in antes de aplicar o modo de usuários autenticados.
- Se o app usa o plug-in do Flutter
Configurar Firebase Authentication
A documentação Firebase Authentication fornece descrições e instruções de implementação para provedores de autenticação compatíveis, incluindo o uso de senhas, números de telefone, provedores de identidade federados conhecidos (como Google, Facebook e GitHub) e muito mais.
Depois de implementar Firebase Authentication no seu app, ele vai automaticamente enviar as credenciais do Firebase Authentication para o usuário autenticado em todas as solicitações ao Firebase AI Logic.
Observe o seguinte sobre alguns dos provedores de autenticação:
Autenticação personalizada: é necessário buscar um token de autenticação assinado para enviar com a solicitação ao Firebase AI Logic. Para mais detalhes, consulte Autenticação personalizada.
Métodos de autenticação anônimos ou e-mail/senha: esses usuários são considerados autenticados, então as solicitações deles ao Firebase AI Logic não são bloqueadas.
Note that even though the anonymous and email/password authentication methods require users to visit your app to create Firebase Authentication credentials, they are not robust forms of authentication (especially for protecting a paid resource) because they do not by default require identity verification from the user. Se o app usa a implementação padrão desses métodos de autenticação, menos proteção é possível, mesmo que você aplique o modo de usuários autenticados. Verifique se você também aplicou o Firebase App CheckFirebase App Check.
Gerenciar a configuração do modo de usuários autenticados
Você gerencia a configuração do modo de usuários autenticados no console Firebase.
Permissões e papéis do IAM obrigatórios
O gerenciamento da configuração do modo de usuários autenticados exige a permissão firebasevertexai.configs.update, que é incluída por padrão nestes papéis do IAM: Proprietário, Editor, Administrador do Firebase e Administrador do Firebase AI Logic.
Aplicar o modo de usuários autenticados
Veja como aplicar o modo de usuários autenticados no seu projeto do Firebase:
Se ainda não fez isso, revise as considerações importantes para o modo de usuários autenticados na seção anterior deste guia.
Se ainda não fez isso, configure Firebase Authentication no seu app (conforme descrito anteriormente neste guia).
Aplique o modo de usuários autenticados:
No console do Firebase, acesse Serviços de IA > Lógica de IA > Configurações tab.
Em Modo de usuários autenticados, deslize a opção Aplicar o modo de usuários autenticados para Aplicado.
Leia a caixa de diálogo de confirmação e clique em Confirmar.
Interromper a aplicação do modo de usuários autenticados
Se você interromper a aplicação do modo de usuários autenticados, observe o seguinte:
- As solicitações via Firebase AI Logic que não enviam Firebase Authentication credenciais serão permitidas.
- Essa configuração é para todo o projeto do Firebase AI Logic.
Veja como interromper a aplicação do modo de usuários autenticados no seu projeto do Firebase:
No console do Firebase, acesse Serviços de IA > Lógica de IA > Configurações tab.
Em Modo de usuários autenticados, desative a opção Aplicar o modo de usuários autenticados.
Leia a caixa de diálogo de confirmação e clique em Confirmar.