Controlli di servizio VPC consente alle organizzazioni di definire un perimetro intorno alle risorse Google Cloud per ridurre i rischi di esfiltrazione di dati. Con i Controlli di servizio VPC, puoi creare che proteggono le risorse e i dati dei servizi da te specificati in modo esplicito.
Servizi Firestore in bundle
Le seguenti API sono raggruppate nei Controlli di servizio VPC:
firestore.googleapis.com
datastore.googleapis.com
firestorekeyvisualizer.googleapis.com
Quando limiti il servizio firestore.googleapis.com
in un perimetro,
il perimetro limita anche datastore.googleapis.com
e
Servizi firestorekeyvisualizer.googleapis.com
.
Limita il servizio datastore.googleapis.com
Il servizio datastore.googleapis.com
è integrato 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 Firestore come servizio con limitazioni.
-
Quando crei un perimetro di servizio utilizzando Google Cloud CLI, utilizza
firestore.googleapis.com
anzichédatastore.googleapis.com
.--perimeter-restricted-services=firestore.googleapis.com
Servizi in bundle legacy di App Engine per Datastore
I servizi integrati precedenti di App Engine per Datastore non supportano i perimetri di servizio. La protezione del servizio Datastore con un perimetro di servizio blocca il traffico proveniente dai servizi in bundle legacy di App Engine. I servizi in bundle legacy includono:
- Datastore Java 8 con API App Engine
- Libreria client NDB per Python 2 per Datastore
- Datastore Go 1.11 con API di App Engine
Protezione in uscita durante le operazioni di importazione ed esportazione
Firestore in modalità Datastore supporta i Controlli di servizio VPC ma richiede per ottenere una protezione completa in uscita per le operazioni di importazione ed esportazione. Devi utilizzare l'agente di servizio Firestore per autorizzare l'importazione anziché il servizio App Engine predefinito . Segui le istruzioni riportate di seguito per visualizzare e configurare l'account di autorizzazione per le operazioni di importazione ed esportazione.
Agente di servizio Firestore
Firestore utilizza un agente di servizio Firestore per autorizzare l'importazione le operazioni di esportazione e l'uso dell'account di servizio App Engine. L'agente di servizio e l'account di servizio utilizzano le seguenti convenzioni di denominazione:
- Agente di servizio Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Firestore in precedenza utilizzava il servizio predefinito di App Engine anziché l'agente di servizio Firestore. Se il tuo database utilizza ancora l'account di servizio 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 Firestore.
- Service account App Engine
PROJECT_ID@appspot.gserviceaccount.com
L'agente di servizio Firestore è preferibile perché è specifico per Firestore. L'account di servizio App Engine è condiviso da più di un servizio.
Visualizza account di autorizzazione
Puoi visualizzare l'account utilizzato dalle operazioni di importazione ed esportazione per autorizzare richieste dalla pagina Importa/Esporta della console Google Cloud. Puoi anche verifica se il tuo database utilizza già Firestore dell'agente di servizio di servizio di Google Cloud.
-
Nella console Google Cloud, vai alla pagina Database.
- Seleziona il database richiesto dall'elenco dei database.
-
Nel menu di navigazione, fai clic su Importazione/esportazione.
- Visualizza l'account di autorizzazione accanto all'etichetta I job di importazione/esportazione vengono eseguiti come.
Se il tuo progetto non utilizza l'agente di servizio Firestore, puoi eseguire la migrazione all'agente di servizio Firestore utilizzando una di queste tecniche:
- Esegui la migrazione di un progetto controllando e aggiornando le autorizzazioni del bucket Cloud Storage (opzione consigliata).
- Aggiungi un vincolo del criterio a livello di organizzazione che interessa tutti i progetti all'interno dell'organizzazione.
La prima di queste tecniche è preferibile perché localizza l'ambito per un singolo progetto in modalità Datastore. La seconda tecnica non è preferita perché non esegue la migrazione delle autorizzazioni dei bucket Cloud Storage esistenti. Tuttavia, offre la conformità alla sicurezza a livello di organizzazione.
Esegui la migrazione controllando e aggiornando le autorizzazioni del bucket Cloud Storage
La procedura di migrazione prevede due passaggi:
- Aggiorna le autorizzazioni del bucket Cloud Storage. Per maggiori dettagli, consulta la sezione che segue.
- Conferma la migrazione all'agente di servizio Firestore.
Autorizzazioni del bucket dell'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 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, non vanno a buon fine dopo la migrazione al servizio Firestore dell'agente.
I flussi di lavoro di importazione ed esportazione che rimangono all'interno dello stesso progetto non richiedono modifiche alle autorizzazioni. L'agente di servizio Firestore può accedere nello stesso progetto per impostazione predefinita.
Aggiorna le autorizzazioni per i bucket Cloud Storage da altri progetti da concedere
l'accesso ai
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
dell'agente di servizio
di servizio di Google Cloud. Concedi all'agente di servizio il ruolo Firestore Service Agent
.
Il ruolo Firestore Service Agent
concede le autorizzazioni di lettura e scrittura per un
nel bucket Cloud Storage. Se devi concedere solo l'autorizzazione di lettura o solo scrittura
autorizzazioni, utilizza
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 dall'account di servizio App Engine a l'agente di servizio Firestore. Una volta completata, la migrazione non può essere annullata.
-
Nella console Google Cloud, vai alla pagina Database.
- Seleziona il database richiesto dall'elenco dei database.
-
Nel menu di navigazione, fai clic su Importazione/esportazione.
-
Se non è ancora stata eseguita la migrazione del progetto all'agente di servizio Firestore, viene visualizzato un banner che descrive la migrazione e un pulsante Controlla stato del bucket. Il passaggio successivo ti aiuta a identificare e risolvere 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 dei bucket Cloud Storage. Potrebbero essere necessari alcuni minuti l'elenco per completare il caricamento.
Questo elenco include bucket recenti utilizzati nelle operazioni di importazione ed esportazione, ma attualmente non forniscono dati le autorizzazioni di scrittura per l'agente di servizio in modalità Datastore.
- Prendi nota del nome dell'entità della modalità Datastore del progetto dell'agente di servizio di servizio di Google Cloud. Il nome dell'agente di servizio viene visualizzato sotto Etichetta Agente di servizio a cui concedere l'accesso.
-
Per ogni bucket nell'elenco che dovrai da utilizzare per operazioni di importazione o esportazione future, completa quanto segue 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 Firestore.
- Nel campo Seleziona un ruolo, scegli Agenti di servizio > Agente di servizio Firestore.
- Fai clic su Salva.
- Torna alla scheda con la pagina Importazione/esportazione in modalità Datastore.
- 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 al termine della migrazione. La migrazione non può essere annullata.
Visualizzare lo stato della migrazione
Per verificare lo stato della migrazione del progetto:
-
Nella console Google Cloud, vai alla pagina Database.
- Seleziona il database richiesto dall'elenco dei database.
-
Nel menu di navigazione, fai clic su Importa/Esporta.
-
Cerca il principale accanto all'etichetta I job di importazione/esportazione vengono eseguiti come.
Se l'entità è
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
, significa che è già stata eseguita la migrazione del progetto all'agente di servizio Firestore. La migrazione non può essere annullata.Se il progetto non è stato migrato, viene visualizzato un banner nella parte superiore della pagina. con un pulsante Verifica lo stato del bucket. Consulta: Esegui la migrazione all'agente di servizio Firestore per completare la migrazione.
Aggiungi un vincolo di criteri a livello di organizzazione
-
Imposta il seguente vincolo nei criteri della tua organizzazione:
Richiedi l'agente di servizio Firestore per l'importazione/esportazione (
firestore.requireP4SAforImportExport
).Questo vincolo richiede le operazioni di importazione ed esportazione per utilizzare Agente di servizio Firestore per autorizzare le richieste. Per impostare questo vincolo, consulta Creare e gestire i criteri dell'organizzazione .
L'applicazione di questo vincolo del criterio dell'organizzazione non concede automaticamente la le autorizzazioni appropriate per il bucket Cloud Storage Agente di servizio Firestore.
Se la limitazione crea errori di autorizzazione per i flussi di lavoro di importazione o esportazione, puoi disattivarla per tornare a utilizzare l'account di servizio predefinito. Dopo aver controllato e aggiornato il bucket Cloud Storage autorizzazioni, puoi riattivare il vincolo.