Controlli di servizio VPC
Controlli di servizio VPC consente 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, 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
.
Limitare 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 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 integrati legacy di App Engine per Datastore
Servizi in bundle legacy 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:
- Java 8 Datastore con le API di App Engine
- Libreria client NDB per Python 2 per Datastore
- Go 1.11 Datastore con le API di App Engine
Protezione in uscita durante le operazioni di importazione ed esportazione
Firestore supporta i Controlli di servizio VPC, ma richiede una configurazione aggiuntiva per ottenere una protezione completa in uscita per le operazioni di importazione ed esportazione. Devi utilizzare l'agente di servizio Firestore per autorizzare le operazioni di importazione ed esportazione anziché l'account di 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 le richieste dalla pagina Importa/Esporta nella 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 a L'etichetta Job di importazione/esportazione eseguiti come.
Se il tuo progetto non utilizza l'agente di servizio Firestore, puoi eseguire la migrazione all'agente di servizio Firestore utilizzando uno dei queste tecniche:
- Esegui la migrazione di un progetto controllando e aggiornando le autorizzazioni del bucket Cloud Storage (opzione consigliata).
- Aggiungi un vincolo di criteri a livello di organizzazione che interessa tutti i progetti all'interno di all'interno dell'organizzazione.
La prima di queste tecniche è preferibile perché localizza l'ambito per un singolo progetto Firestore. La seconda tecnica non è è l'opzione preferita perché non esegue la migrazione del bucket Cloud Storage esistente autorizzazioni aggiuntive. 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 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'altra devono accedere a un bucket in quell'altro progetto. In caso contrario, queste operazioni non andranno a buon fine dopo la migrazione all'agente di servizio Firestore.
I flussi di lavoro di importazione ed esportazione che rimangono nello stesso progetto non richiedono modifiche alle autorizzazioni. Per impostazione predefinita, l'agente di servizio Firestore può accedere ai bucket nello stesso progetto.
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 autorizzazioni di lettura o 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 dall'account di servizio App Engine all'agente di servizio Firestore. Una volta completata la migrazione, 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 al servizio Firestore , vedrai un banner che descrive la migrazione un pulsante Controlla lo 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 elenco di bucket Cloud Storage. Potrebbero essere necessari alcuni minuti l'elenco per completare il caricamento.
Questo elenco include i bucket utilizzati di recente nelle operazioni di importazione ed esportazione, ma che al momento non forniscono autorizzazioni di lettura e scrittura all'agente di servizio Firestore.
- Prendi nota del nome principale dell'agente di servizio Firestore del tuo progetto. Il nome dell'agente di servizio viene visualizzato sotto l'etichetta Agente di servizio a cui concedere l'accesso.
-
Per ogni 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 delle Agente di servizio 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 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 al termine della migrazione. La migrazione non può essere annullata.
Visualizza stato 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 Importazione/esportazione.
-
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.
Aggiungere un vincolo dei 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 Creazione e gestione dei criteri dell'organizzazione .
L'applicazione di questo vincolo dei criteri dell'organizzazione non concede automaticamente le autorizzazioni del bucket Cloud Storage appropriate per l'agente di servizio Firestore.
Se il vincolo crea errori di autorizzazione per qualsiasi flusso di lavoro di importazione o esportazione, puoi disabilitarlo per tornare a usare l'account di servizio predefinito. Dopo aver controllato e aggiornato le autorizzazioni del bucket Cloud Storage, puoi riattivare il vincolo.