I Controlli di servizio VPC consentono alle organizzazioni di definire un perimetro attorno alle risorse Google Cloud per mitigare i rischi di esfiltrazione di dati. Con i Controlli di servizio VPC, crei perimetri che proteggono le risorse e i dati dei servizi che specifichi in modo esplicito.
Servizi Cloud Firestore in bundle
Le seguenti API sono raggruppate nei Controlli di servizio VPC:
firestore.googleapis.comdatastore.googleapis.comfirestorekeyvisualizer.googleapis.com
Quando limiti il servizio firestore.googleapis.com in un perimetro,
il perimetro limita anche i servizi datastore.googleapis.com e
firestorekeyvisualizer.googleapis.com.
Limita il servizio datastore.googleapis.com
Il servizio datastore.googleapis.com è incluso nel servizio firestore.googleapis.com. Per limitare il servizio datastore.googleapis.com, devi limitare il servizio firestore.googleapis.com come segue:
- Quando crei un perimetro di servizio utilizzando la console Google Cloud, aggiungi Cloud Firestore come servizio limitato.
Quando crei un perimetro di servizio utilizzando Google Cloud CLI, utilizza
firestore.googleapis.comanzichédatastore.googleapis.com.--perimeter-restricted-services=firestore.googleapis.com
Servizi in bundle legacy App Engine per Datastore
I servizi in bundle legacy App Engine per Datastore non supportano i perimetri di servizio. La protezione del servizio Datastore con un perimetro di servizio blocca il traffico dai servizi in bundle legacy App Engine. I servizi in bundle legacy includono:
- Java 8 Datastore con API App Engine
- Libreria client NDB Python 2 per Datastore
- Go 1.11 Datastore con API App Engine
Protezione del traffico in uscita sulle operazioni di importazione ed esportazione
Cloud Firestore supporta i Controlli di servizio VPC, ma richiede una configurazione aggiuntiva per ottenere una protezione completa in uscita sulle operazioni di importazione ed esportazione. Per autorizzare le operazioni di importazione ed esportazione, devi utilizzare l'agente di servizio Cloud Firestore anziché l'account di servizio App Engine predefinito. Segui queste istruzioni per visualizzare e configurare l'account di autorizzazione per le operazioni di importazione ed esportazione.
Service agent Cloud Firestore
Cloud Firestore utilizza un agente di servizio Cloud Firestore per autorizzare le operazioni di importazione ed esportazione anziché utilizzare il service account App Engine. L'agente di servizio e l'account di servizio utilizzano le seguenti convenzioni di denominazione:
- Service agent Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore utilizzava in precedenza il service account predefinito App Engine anziché l'agente di servizio Cloud Firestore. Se il tuo database utilizza ancora il service account App Engine per importare o esportare dati, ti consigliamo di seguire le istruzioni riportate in questa sezione per eseguire la migrazione all'utilizzo dell'agente di servizio Cloud Firestore.
- App Engine service account
PROJECT_ID@appspot.gserviceaccount.com
L'agente di servizio Cloud Firestore è preferibile perché è specifico per Cloud Firestore. Il service account App Engine è condiviso da più servizi.
Visualizza l'account di autorizzazione
Puoi visualizzare l'account utilizzato dalle operazioni di importazione ed esportazione per autorizzare le richieste dalla pagina Importa/Esporta nella console Google Cloud. Puoi anche visualizzare se il tuo database utilizza già l'agente di servizio Cloud Firestore.
- Visualizza l'account di autorizzazione accanto all'etichetta Esegui job di importazione/esportazione come.
Se il tuo progetto non utilizza l'agente di servizio Cloud Firestore, puoi eseguire la migrazione all'agente di servizio Cloud Firestore utilizzando una di queste tecniche:
- Esegui la migrazione di un progetto controllando e aggiornando le autorizzazioni del bucket Cloud Storage (consigliato).
- Aggiungi un vincolo della policy a livello di organizzazione che interessa tutti i progetti all'interno dell'organizzazione.
La prima di queste tecniche è preferibile perché localizza l'ambito dell'effetto a un singolo progetto Cloud Firestore. La seconda tecnica non è consigliata perché non esegue la migrazione delle autorizzazioni esistenti del bucket Cloud Storage. Tuttavia, offre la conformità della sicurezza a livello di organizzazione.
Esegui la migrazione controllando e aggiornando le autorizzazioni del bucket Cloud Storage
Il processo di migrazione prevede due passaggi:
- Aggiorna le autorizzazioni del bucket Cloud Storage. Per maggiori dettagli, consulta la sezione seguente.
- Conferma la migrazione all'agente di servizio Cloud Firestore.
Autorizzazioni del bucket per l'agente di servizio
Per qualsiasi operazione di esportazione o importazione che utilizza un bucket Cloud Storage in un altro progetto, devi concedere all'agente di servizio Cloud Firestore le autorizzazioni per quel bucket. Ad esempio, le operazioni che spostano i dati in un altro progetto devono accedere a un bucket in quel progetto. In caso contrario, queste operazioni non andranno a buon fine dopo la migrazione all'agente di servizio Cloud Firestore.
I workflow di importazione ed esportazione che rimangono all'interno dello stesso progetto non richiedono modifiche alle autorizzazioni. L'agente di servizio Cloud Firestore può accedere ai bucket nello stesso progetto per impostazione predefinita.
Aggiorna le autorizzazioni per i bucket Cloud Storage di altri progetti per concedere l'accesso all'agente di servizio service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com. Concedi all'agente di servizio il ruolo Firestore Service Agent.
Il ruolo Firestore Service Agent concede autorizzazioni di lettura e autorizzazione in scrittura per un bucket Cloud Storage. Se devi concedere solo autorizzazioni di lettura o solo di scrittura, utilizza un ruolo personalizzato.
La procedura di migrazione descritta nella sezione seguente ti aiuta a identificare i bucket Cloud Storage che potrebbero richiedere aggiornamenti delle autorizzazioni.
Esegui la migrazione di un progetto all'agente di servizio Firestore
Completa i seguenti passaggi per eseguire la migrazione dal service account App Engine all'agente di servizio Cloud Firestore. Una volta completata, la migrazione non può essere annullata.
-
Se non è ancora stata eseguita la migrazione del progetto all'agente di servizio Cloud Firestore, viene visualizzato un banner che descrive la migrazione e un pulsante Controlla lo stato del bucket. Il passaggio successivo ti aiuta a identificare e correggere potenziali errori di autorizzazione.
Fai clic su Controlla lo stato del bucket.
Viene visualizzato un menu con l'opzione per completare la migrazione e un elenco di bucket Cloud Storage. Il caricamento dell'elenco potrebbe richiedere alcuni minuti.
Questo elenco include i bucket che sono stati utilizzati di recente nelle operazioni di importazione ed esportazione, ma che al momento non concedono autorizzazioni di lettura e autorizzazione in scrittura all'agente di servizio Cloud Firestore.
- Prendi nota del nome dell'entità dell'agente di servizio Cloud Firestore del tuo progetto. Il nome dell'agente di servizio viene visualizzato sotto l'etichetta Agente di servizio a cui concedere l'accesso.
-
Per qualsiasi bucket nell'elenco che utilizzerai per future operazioni di importazione o esportazione, completa i seguenti passaggi:
-
Nella riga della tabella di questo bucket, fai clic su Correggi. Si apre la pagina delle autorizzazioni del bucket in una nuova scheda.
- Fai clic su Aggiungi.
- Nel campo Nuove entità, inserisci il nome dell'agente di servizio Cloud Firestore.
- Nel campo Seleziona un ruolo, seleziona Agenti di servizio > Agente di servizio Firestore.
- Fai clic su Salva.
- Torna alla scheda con la pagina di importazione/esportazione di Cloud Firestore.
- Ripeti questi passaggi per gli altri bucket nell'elenco. Assicurati di visualizzare tutte le pagine dell'elenco.
-
-
Fai clic su Esegui la migrazione all'agente di servizio Firestore. Se hai ancora bucket con controlli delle autorizzazioni non riusciti, devi confermare la migrazione facendo clic su Esegui migrazione.
Un avviso ti informa quando la migrazione è completata. La migrazione non può essere annullata.
Visualizza lo stato della migrazione
Per verificare lo stato della migrazione del progetto:
-
Cerca l'entità accanto all'etichetta Esegui job di importazione/esportazione come.
Se l'entità è
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, il tuo progetto è già stato migrato all'agente di servizio Cloud Firestore. La migrazione non può essere annullata.Se il progetto non è stato migrato, nella parte superiore della pagina viene visualizzato un banner con il pulsante Controlla stato bucket. Consulta Esegui la migrazione all'agente di servizio Firestore per completare la migrazione.
Aggiungi un vincolo delle policy a livello di organizzazione
-
Imposta il seguente vincolo nella policy della tua organizzazione:
Richiedi l'agente di servizio Firestore per l'importazione/esportazione (
firestore.requireP4SAforImportExport).Questo vincolo richiede che le operazioni di importazione ed esportazione utilizzino l'agente di servizio Cloud Firestore per autorizzare le richieste. Per impostare questo vincolo, consulta Creazione e gestione delle policy dell'organizzazione .
L'applicazione di questo vincolo della policy dell'organizzazione non concede automaticamente le autorizzazioni bucket Cloud Storage appropriate per l'agente di servizio Cloud Firestore.
Se il vincolo genera errori di autorizzazione per i workflow di importazione o esportazione, puoi disattivarlo per tornare a utilizzare il service account predefinito. Dopo aver controllato e aggiornato le autorizzazioni del bucket Cloud Storage, puoi attivare nuovamente il vincolo.