Puoi applicare la modalità utenti autenticati per il tuo progetto Firebase. Se applicata, tutte le richieste Gemini API tramite Firebase AI Logic devono provenire da utenti autenticati della tua app. Nello specifico, l'utente finale della tua app deve essere autenticato utilizzando Firebase Authentication prima di inviare una richiesta a Firebase AI Logic dalla tua app. Se l'utente finale non è autenticato, la richiesta viene bloccata.
Quando una richiesta viene bloccata, la risposta sarà un errore 401: unauthenticated.
Considerazioni importanti
Tieni presenti le seguenti considerazioni importanti per la modalità utenti autenticati.
.Quando la modalità utenti autenticati è applicata
Quando la modalità utenti autenticati è applicata, tieni presente quanto segue:
Questa impostazione è a livello di progetto per Firebase AI Logic.
- Si applica a tutte le app registrate nel progetto.
- Si applica solo al progetto in cui è applicata.
Questa impostazione blocca tutte le richieste tramite Firebase AI Logic che non inviano le credenziali Firebase Authentication.
- L'utente deve essere autenticato tramite Firebase Authentication prima di inviare la richiesta a Firebase AI Logic.
- Questa impostazione si applica a tutte le richieste tramite Firebase AI Logic sia a Gemini Developer API sia a Vertex AI Gemini API.
- Questa impostazione si applica a tutte le richieste che utilizzano i template di prompt del server.
- Questa impostazione non può essere applicata per utente, per API o per template.
Questa impostazione non blocca Gemini API richieste nel tuo progetto che non avvengono tramite Firebase AI Logic.
Se utilizzi la modalità ibrida / on-device:
- Questa impostazione blocca le richieste al modello ospitato nel cloud se l'utente non è autenticato.
- Questa impostazione non blocca le richieste al modello on-device, indipendentemente dallo stato di autenticazione dell'utente.
Se utilizzi Gemini Live API:
- Questa impostazione blocca l'utilizzo dell'API Gemini Live per le app web quando utilizzi Firebase AI Logic — anche per gli utenti autenticati. Sono incluse le app web che utilizzano l'SDK Firebase JS o le app web Flutter.
Se utilizzi l'API REST Firebase AI Logic:
- Questa impostazione blocca le richieste di inferenza che non inviano
Firebase Authentication credenziali. Sono incluse le richieste per i template di prompt del server come
templateGenerateContentotemplateStreamGenerateContent. - Questa impostazione non blocca le richieste del piano di controllo (come quelle per la gestione di template e configurazioni) perché sono protette da IAM.
- Questa impostazione blocca le richieste di inferenza che non inviano
Firebase Authentication credenziali. Sono incluse le richieste per i template di prompt del server come
Questa impostazione non blocca le richieste a
countTokens(l'API Count Tokens).
Prima di applicare la modalità utenti autenticati
Tieni presente quanto segue prima di applicare la modalità utenti autenticati:
Se hai versioni esistenti della tua app che non utilizzano Firebase Authentication:
- Questa impostazione bloccherà le richieste tramite Firebase AI Logic da queste versioni dell'app esistenti.
- Assicurati che tutti i client attivi siano stati aggiornati per utilizzare Firebase Authentication prima di applicare la modalità utenti autenticati.
Le versioni precedenti del plug-in Flutter richiedono un'istanza speciale per inviare Firebase Authentication le credenziali con le richieste.
- Se la tua app utilizza il plug-in Flutter
firebase_aiv3.11.0 o versioni precedenti (distinta base v4.12.0 o versioni precedenti) e non passa Authentication durante l'istanza, questa impostazione bloccherà le richieste tramite Firebase AI Logic — anche per gli utenti autenticati. - Assicurati che tutti i client attivi per Flutter siano stati aggiornati a una versione più recente del plug-in prima di applicare la modalità utenti autenticati.
- Se la tua app utilizza il plug-in Flutter
Configurare Firebase Authentication
La documentazione Firebase Authentication fornisce descrizioni e istruzioni di implementazione per i provider di autenticazione supportati, tra cui l'utilizzo di password, numeri di telefono, provider di identità federati popolari (come Google, Facebook e GitHub) e altro ancora.
Dopo aver implementato Firebase Authentication nella tua app, l'app invierà automaticamente le credenziali di Firebase Authentication per l'utente autenticato in ogni richiesta a Firebase AI Logic.
Tieni presente quanto segue su alcuni dei provider di autenticazione:
Autenticazione personalizzata: devi recuperare un token di autenticazione firmato da inviare insieme a lla richiesta a Firebase AI Logic. Per i dettagli, consulta Autenticazione personalizzata.
Metodi di autenticazione anonima o email/password: questi utenti sono considerati autenticati, quindi le loro richieste a Firebase AI Logic non vengono bloccate.
Tieni presente che, anche se i metodi di autenticazione anonima e email/password richiedono agli utenti di visitare la tua app per creare Firebase Authentication credenziali, non sono forme di autenticazione robuste (soprattutto per proteggere una risorsa a pagamento) perché per impostazione predefinita non richiedono la verifica dell'identità dell'utente. Se la tua app utilizza l'implementazione predefinita di questi metodi di autenticazione, è possibile una protezione inferiore anche se applichi la modalità utenti autenticati. Assicurati di aver anche applicato Firebase App Check.
Gestire l'impostazione della modalità utenti autenticati
Puoi gestire l'impostazione della modalità utenti autenticati nella Firebase console.
.Autorizzazioni e ruoli IAM obbligatori
Per gestire l'impostazione della modalità utenti autenticati è necessaria l'autorizzazione firebasevertexai.configs.update, inclusa per impostazione predefinita nei seguenti ruoli IAM: Proprietario, Editor, Amministratore Firebase e Amministratore Firebase AI Logic.
Applicare la modalità utenti autenticati
Ecco come applicare la modalità utenti autenticati per il tuo progetto Firebase:
Se non l'hai ancora fatto, consulta le considerazioni importanti per la modalità utenti autenticati descritte in precedenza in questa guida.
Se non l'hai ancora fatto, configura Firebase Authentication nella tua app (come descritto in precedenza in questa guida).
Applica la modalità utenti autenticati:
Nella console Firebase, vai a Servizi AI > AI Logic > scheda Impostazioni.
In Modalità utenti autenticati, sposta il pulsante di attivazione/disattivazione di Applica la modalità utenti autenticati su Applicata.
Esamina la finestra di dialogo di conferma, quindi fai clic su Conferma.
Interrompere l'applicazione della modalità utenti autenticati
Se interrompi l'applicazione della modalità utenti autenticati, tieni presente quanto segue:
- Le richieste tramite Firebase AI Logic che non inviano le Firebase Authentication credenziali saranno consentite.
- Questa impostazione è a livello di progetto per Firebase AI Logic.
Ecco come interrompere l'applicazione della modalità utenti autenticati per il tuo progetto Firebase:
Nella console Firebase, vai a Servizi AI > AI Logic > scheda Impostazioni.
In Modalità utenti autenticati, disattiva Applica la modalità utenti autenticati.
Esamina la finestra di dialogo di conferma, quindi fai clic su Conferma.