I Controlli di servizio VPC consentono alle organizzazioni di definire un perimetro attorno alle Google Cloud risorse per mitigare i rischi di esfiltrazione di dati. Con i Controlli di servizio VPC, puoi creare perimetri che proteggono le risorse e i dati dei servizi che specifichi in modo esplicito.
Servizi in bundleCloud Firestore
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.
Limitare il servizio datastore.googleapis.com
Il servizio datastore.googleapis.com è in bundle con il servizio firestore.googleapis.com. Per limitare il servizio datastore.googleapis.com, devi limitare il servizio firestore.googleapis.com nel seguente modo:
- 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
App Engine servizi in bundle legacy per Datastore
App Engine I servizi in bundle legacy per Datastore non supportano i perimetri di servizio. La protezione del Datastore servizio con un perimetro di servizio blocca il traffico dai App Engine servizi in bundle legacy. I servizi in bundle legacy includono:
- Java 8 Datastore con le App Engine API
- Libreria client NDB Python 2 per Datastore
- Go 1.11 Datastore con le App Engine API
Protezione dell'uscita nelle operazioni di importazione ed esportazione
Cloud Firestore supporta i Controlli di servizio VPC, ma richiede una configurazione aggiuntiva per ottenere la protezione completa dell'uscita nelle operazioni di importazione ed esportazione. Devi utilizzare il service agent Cloud Firestore per autorizzare le operazioni di importazione e esportazione anziché il service account 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 service agent Cloud Firestore per autorizzare le operazioni di importazione ed esportazione anziché il service account App Engine. Il service agent e il service account utilizzano le seguenti convenzioni di denominazione:
- Service agent Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore in precedenza utilizzava il service account predefinito App Engine anziché il service agent Cloud Firestore. Se il tuo database utilizza ancora il service account App Engine per importare o esportare i dati, ti consigliamo di seguire le istruzioni riportate in questa sezione per eseguire la migrazione all'utilizzo del service agent Cloud Firestore.
- Service account App Engine
PROJECT_ID@appspot.gserviceaccount.com
Il service agent Cloud Firestore è preferibile perché è specifico per Cloud Firestore. Il service account App Engine è condiviso da più servizi.
Visualizzare 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 verificare se il tuo database utilizza già il Cloud Firestore service agent.
- Visualizza l'account di autorizzazione accanto all'etichetta I job di importazione/esportazione vengono eseguiti come.
Se il tuo progetto non utilizza il Cloud Firestore service agent, puoi eseguire la migrazione al Cloud Firestore service agent utilizzando una di queste tecniche:
- Esegui la migrazione di un progetto controllando e aggiornando le autorizzazioni dei bucket Cloud Storage (opzione consigliata).
- Aggiungi un vincolo di policy a livello di organizzazione che influisce su tutti i progetti all'interno dell'organizzazione.
La prima di queste tecniche è preferibile perché localizza l'ambito di applicazione a un singolo Cloud Firestore progetto. La seconda tecnica non è preferibile perché non esegue la migrazione delle autorizzazioni dei bucket Cloud Storage esistenti. Tuttavia, offre la conformità alla sicurezza a livello di organizzazione.
Eseguire la migrazione controllando e aggiornando le autorizzazioni dei bucket Cloud Storage
La procedura di migrazione prevede due passaggi:
- Aggiorna le autorizzazioni dei bucket Cloud Storage. Per i dettagli, consulta la sezione seguente.
- Conferma la migrazione al Cloud Firestore service agent.
Autorizzazioni dei bucket del service agent
Per qualsiasi operazione di esportazione o importazione che utilizza un Cloud Storage bucket in un altro progetto, devi concedere le autorizzazioni del Cloud Firestore service agent per quel bucket. Ad esempio, le operazioni che spostano i dati in un altro progetto devono accedere a un bucket in quell'altro progetto. In caso contrario, queste operazioni non vanno a buon fine dopo la migrazione al Cloud Firestore service agent.
I flussi di lavoro di importazione ed esportazione che rimangono all'interno dello stesso progetto non richiedono modifiche alle autorizzazioni. Per impostazione predefinita, il Cloud Firestore service agent può accedere ai bucket nello stesso progetto.
Aggiorna le autorizzazioni per i Cloud Storage bucket di altri progetti per concedere
l'accesso al
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
service agent. Concedi al service agent il ruolo Firestore Service Agent.
Il ruolo Firestore Service Agent concede le autorizzazioni di lettura e scrittura per un
Cloud Storage bucket. Se devi concedere solo le autorizzazioni di lettura o solo di scrittura, utilizza un
ruolo personalizzato.
La procedura di migrazione descritta nella sezione seguente ti aiuta a identificare Cloud Storage i bucket che potrebbero richiedere aggiornamenti delle autorizzazioni.
Eseguire la migrazione di un progetto al service agent Firestore
Completa i seguenti passaggi per eseguire la migrazione dal App Engine service account a il Cloud Firestore service agent. Una volta completata, la migrazione non può essere annullata.
-
Se il tuo progetto non è ancora stato sottoposto a migrazione al Cloud Firestore service agent, 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 Cloud Storage bucket. Il caricamento dell'elenco potrebbe richiedere alcuni minuti.
Questo elenco include i bucket utilizzati di recente nelle operazioni di importazione ed esportazione, ma che al momento non concedono le autorizzazioni di lettura e scrittura al Cloud Firestore service agent.
- Prendi nota del nome principale del service agent del tuo progetto Cloud Firestore. Il nome del service agent viene visualizzato sotto l' etichetta L'agente di servizio a cui concedere l'accesso.
-
Per qualsiasi bucket nell'elenco che utilizzerai per le 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 del tuo Cloud Firestore service agent.
- Nel campo Seleziona un ruolo, seleziona Service agent > Service agent Firestore.
- Fai clic su Salva.
- Torna alla scheda con la pagina Cloud Firestore Importa/Esporta.
- Ripeti questi passaggi per gli altri bucket nell'elenco. Assicurati di visualizzare tutte le pagine dell'elenco.
-
-
Fai clic su Esegui la migrazione al service agent Firestore. Se hai ancora bucket con controlli delle autorizzazioni non riusciti, devi confermare la migrazione facendo clic su Esegui la migrazione.
Un avviso ti informa quando la migrazione è stata completata. La migrazione non può essere annullata.
Visualizzare lo stato della migrazione
Per verificare lo stato della migrazione del progetto:
-
Cerca l'entità principale accanto all'etichetta I job di importazione/esportazione vengono eseguiti come.
Se l'entità principale è
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, il progetto è già stato sottoposto a migrazione al Cloud Firestore service agent. La migrazione non può essere annullata.Se il progetto non è stato sottoposto a migrazione, nella parte superiore della pagina viene visualizzato un banner con un pulsante Controlla lo stato del bucket. Consulta Eseguire la migrazione al service agent Firestore per completare la migrazione.
Aggiungere un vincolo di policy a livello di organizzazione
-
Imposta il seguente vincolo nella policy della tua organizzazione:
Richiede il service agent Firestore per l'importazione/esportazione (
firestore.requireP4SAforImportExport).Questo vincolo richiede che le operazioni di importazione ed esportazione utilizzino il Cloud Firestore service agent 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 dei Cloud Storage bucket appropriate per il Cloud Firestore service agent.
Se il vincolo crea errori di autorizzazione per qualsiasi flusso di lavoro di importazione o esportazione, puoi disabilitarlo per tornare a utilizzare il service account predefinito. Dopo aver controllato e aggiornato Cloud Storage le autorizzazioni dei bucket, puoi riattivare il vincolo.