Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
I Controlli di servizio VPC consentono alle organizzazioni di definire un perimetro attorno alleGoogle Cloud risorse per mitigare i rischi di esfiltrazione di dati.
Gli ambienti Cloud Composer possono essere dispiacchiati all'interno di un perimetro di servizio. Configurando l'ambiente con i Controlli di servizio VPC, puoi mantenere privati i dati sensibili e usufruire al contempo delle funzionalità di orchestrazione dei flussi di lavoro completamente gestite di Cloud Composer.
Il supporto di Controlli di servizio VPC per Cloud Composer significa che:
- Ora Cloud Composer può essere selezionato come servizio protetto all'interno di un perimetro di Controlli di servizio VPC.
- Tutte le risorse sottostanti utilizzate da Cloud Composer sono configurate per supportare l'architettura di VPC Service Controls e seguire le relative regole.
Il deployment di ambienti Cloud Composer con Controlli di servizio VPC consente di:
- Rischio ridotto di esfiltrazione di dati.
- Protezione contro l'esposizione dei dati a causa di controlli di accesso configurati in modo errato.
- Rischio ridotto che utenti malintenzionati copino dati in risorseGoogle Cloud non autorizzate o che hacker esterni accedano alle risorseGoogle Cloud da internet.
Informazioni sui Controlli di servizio VPC in Cloud Composer
- Tutti i vincoli di rete di VPC Service Controls si applicano anche ai tuoi ambienti Cloud Composer. Per maggiori dettagli, consulta la documentazione di VPC Service Controls.
Se un ambiente Cloud Composer è protetto da un perimetro, l'accesso ai repository PyPI pubblici è limitato. Per ulteriori informazioni, consulta Installare i pacchetti PyPI in VPC Service Controls.
Se il tuo ambiente utilizza la networking IP privato, tutto il traffico interno viene indirizzato alla tua rete VPC, tranne il traffico verso API, servizi e domini Google che sono disponibili per gli ambienti IP privato tramite l'accesso privato Google.
A seconda di come configuri la rete VPC, un ambiente IP privato può accedere a internet tramite la rete VPC.
In modalità Controlli di servizio VPC, l'accesso al server web è protetto dal perimetro e l'accesso dall'esterno del perimetro è bloccato. Per consentire l'accesso dall'esterno del perimetro di servizio, configura i livelli di accesso o le regole di ingresso e uscita in base alle esigenze. Inoltre, puoi limitare l'accesso al server web a intervalli IP specifici.
Crea un perimetro di servizio
Consulta Creazione di un perimetro di servizio per scoprire come creare e configurare i perimetri di servizio. Assicurati di selezionare Cloud Composer come uno dei servizi protetti all'interno del perimetro.
Creare ambienti in un perimetro
Per eseguire il deployment di Cloud Composer all'interno di un perimetro, sono necessari i seguenti passaggi:
Abilita l'API Access Context Manager e l'API Cloud Composer per il tuo progetto. Per riferimento, consulta Abilitazione delle API.
Assicurati che il perimetro di servizio abbia i seguenti servizi accessibili al VPC, altrimenti la creazione dell'ambiente potrebbe non riuscire:
- API Cloud Composer (composer.googleapis.com)
- API Compute Engine (compute.googleapis.com)
- API Kubernetes Engine (container.googleapis.com)
- API Container Registry (containerregistry.googleapis.com)
- API Artifact Registry (artifactregistry.googleapis.com)
- API Cloud Storage (storage.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
- API Cloud Logging (logging.googleapis.com)
- API Cloud Monitoring (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Security Token Service (sts.googleapis.com)
- API Cloud Resource Manager (cloudresourcemanager.googleapis.com)
- API Service Directory (servicedirectory.googleapis.com)
- API Cloud Key Management Service (cloudkms.googleapis.com), se utilizzi chiavi Cloud KMS o CMEK.
- API Secret Manager (secretmanager.googleapis.com), se utilizzi Secret Manager come backend per i secret.
Crea un nuovo ambiente Cloud Composer:
L'IP privato deve essere abilitato. Tieni presente che questa impostazione deve essere configurata durante la creazione dell'ambiente.
Ricorda di configurare l'accesso al server web Airflow. Per migliorare la protezione, consenti l'accesso al server web solo da intervalli IP specifici. Per maggiori dettagli, consulta Configurare l'accesso alla rete del server web.
Per impostazione predefinita, l'accesso all'API e all'interfaccia utente di Airflow è consentito solo all'interno del perimetro di sicurezza. Se vuoi renderlo disponibile al di fuori del perimetro di sicurezza, configura i livelli di accesso o le regole di instradamento in entrata e in uscita.
Aggiungere un ambiente esistente al perimetro
Puoi aggiungere il progetto contenente il tuo ambiente a un perimetro se:
- Hai già creato o configurato il perimetro come descritto nella sezione precedente.
- I tuoi ambienti utilizzano l'IP privato.
Installare i pacchetti PyPI in VPC Service Controls
Nella configurazione predefinita di VPC Service Controls, Cloud Composer supporta solo l'installazione di pacchetti PyPI da repository privati accessibili dallo spazio di indirizzi IP interno della rete VPC.
Per impostazione predefinita, tutti gli ambienti Cloud Composer all'interno di un perimetro di VPC Service Controls non hanno accesso ai repository PyPI pubblici.
Installazione da un repository privato
La configurazione consigliata è impostare un repository PyPI privato:
Compilalo con i pacchetti controllati utilizzati dalla tua organizzazione, quindi configura Cloud Composer per installare le dipendenze Python da un repository privato.
Concedi autorizzazioni aggiuntive per l'installazione di pacchetti dai repository privati all'account di servizio del tuo ambiente, come descritto in Controllo dell'accesso.
Installazione da un repository pubblico
Repository remoto
Questo è l'approccio consigliato per installare i pacchetti da un repository pubblico.
Per installare i pacchetti PyPI da repository esterni allo spazio IP privato, segui questi passaggi:
- Crea un repository remoto Artifact Registry.
- Concedi a questo repository l'accesso alle origini upstream.
- Configura Airflow in modo da installare i pacchetti da un repository Artifact Registry.
- Concedi autorizzazioni aggiuntive per l'installazione di pacchetti dai repository di Artifact Registry all'account di servizio del tuo ambiente, come descritto in Controllo dell'accesso.
Connessioni esterne
Per installare i pacchetti PyPI da repository esterni allo spazio IP privato, segui questi passaggi:
Configura Cloud NAT per consentire a Cloud Composer in esecuzione nello spazio IP privato di connettersi ai repository PyPI esterni.
Configura le regole del firewall per consentire le connessioni in uscita dal cluster Composer al repository.
Configurare la connettività con i servizi e le API di Google
In una configurazione di Controlli di servizio VPC, per controllare il traffico di rete, configura l'accesso alle API e ai servizi Google tramite restricted.googleapis.com
. Questo dominio blocca l'accesso alle API e ai servizi di Google che non supportano i Controlli di servizio VPC.
Gli ambienti Cloud Composer utilizzano i seguenti domini:
*.googleapis.com
viene utilizzato per accedere ad altri servizi Google.*.composer.cloud.google.com
viene utilizzato per rendere accessibile il server web di Airflow del tuo ambiente. Questa regola deve essere applicata prima di creare un ambiente.- In alternativa, puoi creare una regola per una regione specifica. Per farlo,
utilizza
REGION.composer.cloud.google.com
. SostituisciREGION
con la regione in cui si trova l'ambiente, ad esempious-central1
.
- In alternativa, puoi creare una regola per una regione specifica. Per farlo,
utilizza
(Facoltativo)
*.composer.googleusercontent.com
viene utilizzato per accedere al server web Airflow del tuo ambiente. Questa regola è obbligatoria solo se accedo al server web Airflow da un'istanza in esecuzione nella rete VPC e non è obbligatoria in caso contrario. Uno scenario comune per questa regola è quando vuoi chiamare l'API REST di Airflow dalla rete VPC.- In alternativa, puoi creare una regola per un ambiente specifico. Per farlo, usa
ENVIRONMENT_WEB_SERVER_NAME.composer.googleusercontent.com
. SostituisciENVIRONMENT_WEB_SERVER_NAME
con la parte univoca dell'URL dell'interfaccia utente di Airflow del tuo ambiente, ad esempiobffe6ce6c4304c55acca0e57be23128c-dot-us-central1
.
- In alternativa, puoi creare una regola per un ambiente specifico. Per farlo, usa
*.pkg.dev
viene utilizzato per ottenere immagini dell'ambiente, ad esempio quando crei o aggiornate un ambiente.*.gcr.io
GKE richiede la connettività al dominio Container Registry indipendentemente dalla versione di Cloud Composer.
Configura la connettività all'endpoint restricted.googleapis.com
:
Dominio | Nome DNS | Record CNAME | Record A |
---|---|---|---|
*.googleapis.com
|
googleapis.com. |
Nome DNS: *.googleapis.com. Tipo di record di risorse: CNAME Nome canonico: googleapis.com. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.composer.cloud.google.com
|
composer.cloud.google.com. |
Nome DNS: *.composer.cloud.google.com. Tipo di record di risorse: CNAME Nome canonico: composer.cloud.google.com. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.composer.googleusercontent.com
(facoltativo, vedi descrizione) |
composer.googleusercontent.com. |
Nome DNS: *.composer.googleusercontent.com. Tipo di record di risorse: CNAME Nome canonico: composer.googleusercontent.com. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.pkg.dev
|
pkg.dev. |
Nome DNS: *.pkg.dev. Tipo di record di risorse: CNAME Nome canonico: pkg.dev. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.gcr.io
|
gcr.io. |
Nome DNS: *.gcr.io. Tipo di record di risorse: CNAME Nome canonico: gcr.io. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
Per creare una regola DNS:
Crea una nuova zona DNS e utilizza Nome DNS come nome DNS di questa zona.
Esempio:
pkg.dev.
Aggiungi un insieme di record per il record CNAME.
Esempio:
- Nome DNS:
*.pkg.dev.
- Tipo di record di risorse:
CNAME
- Nome canonico:
pkg.dev.
- Nome DNS:
Aggiungi un set di record con un record A:
Esempio:
- Tipo di record di risorse:
A
- Indirizzi IPv4:
199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
- Tipo di record di risorse:
Per ulteriori informazioni, consulta Configurazione della connettività privata alle API e ai servizi Google.
Configurazione delle regole del firewall
Se il tuo progetto ha regole firewall non predefinite, ad esempio quelle che sostituiscono le regole firewall implicite o modificano le regole predefinite nella rete predefinita, verifica che le seguenti regole firewall siano configurate.
Ad esempio, Cloud Composer potrebbe non riuscire a creare un ambiente se hai una regola firewall che nega tutto il traffico in uscita. Per evitare problemi,
definisci regole allow
selettive che seguono l'elenco e hanno una priorità più elevata
della regola deny
globale.
Configura la rete VPC in modo da consentire il traffico dal tuo ambiente:
- Consulta Utilizzo delle regole firewall per scoprire come controllare, aggiungere e aggiornare le regole per la rete VPC.
- Utilizza lo strumento di connettività per convalidare la connettività tra gli intervalli IP.
- Puoi utilizzare i tag di rete per limitare ulteriormente l'accesso. Puoi impostare questi tag quando crei un ambiente.
Descrizione | Direzione | Azione | Origine o destinazione | Protocolli | Porte |
---|---|---|---|---|---|
DNS Configura come descritto in Supporto di Controlli di servizio VPC per Cloud DNS |
- | - | - | - | - |
API e servizi Google | In uscita | Consenti | Indirizzi IPv4 di restricted.googleapis.com che utilizzi per le API e i servizi Google. |
TCP | 443 |
Nodi del cluster dell'ambiente | In uscita | Consenti | Intervallo di indirizzi IP principali della subnet dell'ambiente | TCP, UDP | tutte |
Pod del cluster dell'ambiente | In uscita | Consenti | Intervallo di indirizzi IP secondario per i pod nella subnet dell'ambiente | TCP, UDP | tutte |
Control plane del cluster dell'ambiente | In uscita | Consenti | Intervallo IP del control plane GKE | TCP, UDP | tutte |
(Se il tuo ambiente utilizza Private Service Connect) Subnet di connessione | In uscita | Consenti | Intervallo della sottorete di connessione Cloud Composer | TCP | 3306, 3307 |
(Se il tuo ambiente utilizza i peering VPC) Rete del tenant | In uscita | Consenti | Intervallo IP della rete del tenant Cloud Composer | TCP | 3306, 3307 |
Per ottenere gli intervalli IP:
Gli intervalli di indirizzi di pod, servizi e piano di controllo sono disponibili nella pagina Cluster del cluster del tuo ambiente:
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
Segui il link Visualizza i dettagli del cluster.
Puoi vedere l'intervallo IP della rete del tenant Cloud Composer dell'ambiente nella scheda Configurazione dell'ambiente.
Puoi visualizzare l'ID della subnet dell'ambiente e l'ID della subnet di connessione di Cloud Composer nella scheda Configurazione dell'ambiente. Per ottenere gli intervalli IP per una subnet, vai alla pagina Reti VPC e fai clic sul nome della rete per visualizzarne i dettagli:
Log di Controlli di servizio VPC
Per risolvere i problemi di creazione dell'ambiente, puoi analizzare i log di controllo generati da Controlli di servizio VPC.
Oltre ad altri messaggi di log, puoi controllare i log per informazioni sugli account di servizio
cloud-airflow-prod@system.gserviceaccount.com
e
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
che configurano i componenti dei tuoi ambienti.
Il servizio Cloud Composer utilizza l'account di servizio cloud-airflow-prod@system.gserviceaccount.com
per gestire i componenti del progetto del tenant dei tuoi ambienti.
L'service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
account di servizio, noto anche come account di servizio dell'agente di servizio Composer, gestisce
i componenti dell'ambiente nei
progetti di servizio e host.