Autorizzazioni concesse a un'estensione Firebase

Affinché un Firebase Extension esegua le azioni specificate, Firebase concede a ogni istanza di un'estensione installata un accesso limitato al tuo progetto e ai tuoi dati tramite un service account.

Che cos'è un service account?

Un service account è un tipo speciale di account utente Google. Rappresenta un utente non umano che dispone dell'autorizzazione per accedere ai dati utilizzando le API di Google.

Durante l'installazione di un'estensione, Firebase crea un service account nel tuo progetto. Ogni istanza installata di un'estensione ha il proprio account di servizio.

Firebase limita l'accesso al tuo progetto e ai tuoi dati assegnando all'account di servizio di un'estensione ruoli specifici (pacchetti di autorizzazioni). I ruoli richiesti da un'estensione per operare vengono determinati da Firebase durante lo sviluppo dell'estensione. Durante l'installazione, Firebase assegna questi ruoli al service account di un'estensione e non devi modificare, aggiungere o eliminare nessuno di questi ruoli assegnati (altrimenti l'estensione installata non funzionerà come previsto). Tuttavia, puoi disinstallare l'estensione, che elimina completamente l'account di servizio (e il relativo accesso).

I service account creati per le estensioni hanno il seguente formato: ext-extension-instance-id@project-id.iam.gserviceaccount.com.

Puoi visualizzare tutti i service account associati al tuo progetto Firebase nella scheda Service account delle impostazioni del progetto .

Autorizzazioni e ruoli

Durante lo sviluppo di un'estensione, Firebase determina il livello di accesso necessario per il funzionamento.

Firebase definisce questo livello di accesso elencando esplicitamente i ruoli (pacchetti di autorizzazioni) che Firebase deve assegnare all'account di servizio dell'estensione durante l'installazione.

Ogni ruolo (e le relative autorizzazioni intrinseche) si basa su un prodotto o servizio specifico. Esempi di ruoli sono firebasehosting.admin, bigquery.dataEditor e firebasedatabase.admin. Firebase elenca i ruoli richiesti per un'estensione nel file di specifica dell'estensione (il file extension.yaml).

Per le estensioni ufficiali di Firebase, Firebase esamina attentamente questo elenco di ruoli per garantire che l'accesso di un'estensione sia strettamente limitato all'ambito delle attività dell'estensione. Puoi anche esaminare e confermare l'accesso concesso a un'estensione visualizzando la pagina dei dettagli dell'estensione nella dashboard Firebase Extensions o visualizzando il relativo file README.

Scopri le autorizzazioni incluse in ogni ruolo:

Cosa succede quando disinstallo un'estensione?

Quando disinstalli un'estensione dal tuo progetto, Firebase elimina il service account creato per quell'istanza dell'estensione. Dopo l'eliminazione del service account, l'estensione non può essere eseguita nel tuo progetto perché non dispone più di diritti di accesso al progetto o ai dati.