Configurazione dei Controlli di servizio VPC

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

I Controlli di servizio VPC consentono alle organizzazioni di definire un perimetro attorno alle risorseGoogle Cloud per mitigare i rischi di esfiltrazione di dati.

Gli ambienti Managed Airflow possono essere implementati all'interno di un perimetro di servizio. Configurando l'ambiente con i controlli di servizio VPC, puoi mantenere privati i dati sensibili approfittando delle funzionalità di orchestrazione del flusso di lavoro completamente gestite di Managed Airflow.

Il supporto dei Controlli di servizio VPC per Managed Airflow significa che:

  • Ora Managed Airflow può essere selezionato come servizio protetto all'interno di un perimetro di Controlli di servizio VPC.
  • Tutte le risorse sottostanti utilizzate da Managed Airflow sono configurate per supportare l'architettura dei Controlli di servizio VPC e rispettarne le regole.

Il deployment di ambienti Managed Airflow con i Controlli di servizio VPC ti offre:

  • Riduzione del rischio di esfiltrazione di dati.
  • Protezione dall'esposizione dei dati dovuta a controlli dell'accesso configurati in modo errato.
  • Rischio ridotto che utenti malintenzionati copino dati in risorseGoogle Cloud non autorizzate o che aggressori esterni accedano a risorseGoogle Cloud da internet.

Informazioni sui Controlli di servizio VPC in Managed Airflow

Crea ambienti in un perimetro

Per eseguire il deployment di Managed Airflow all'interno di un perimetro, sono necessari i seguenti passaggi:

  1. Abilita l'API Gestore contesto accesso e l'API Cloud Composer per il tuo progetto. Per riferimento, consulta Attivazione delle API.

  2. Assicurati che il perimetro di servizio disponga dei seguenti servizi accessibili da 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 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 dei secret.
  3. Crea un nuovo ambiente Managed Airflow:

    • 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, vedi Configurare l'accesso alla rete del server web.

  4. Per impostazione predefinita, l'accesso all'API e all'interfaccia utente di Airflow è consentito solo dall'interno del perimetro di sicurezza. Se vuoi renderlo disponibile al di fuori del perimetro di sicurezza, configura i livelli di accesso o le regole in entrata e in uscita.

Aggiungi un ambiente esistente al perimetro

Puoi aggiungere il progetto contenente il tuo ambiente a un perimetro se:

Installare pacchetti PyPI nei Controlli di servizio VPC

Nella configurazione predefinita dei Controlli di servizio VPC, Managed Airflow supporta solo l'installazione di pacchetti PyPI da repository privati raggiungibili dallo spazio di indirizzi IP interni della rete VPC.

Per impostazione predefinita, tutti gli ambienti Managed Airflow all'interno di un perimetro dei Controlli di servizio VPC non hanno accesso ai repository PyPI pubblici.

Installare da un repository privato

La configurazione consigliata prevede la configurazione di un repository PyPI privato:

  1. Compilalo con i pacchetti verificati utilizzati dalla tua organizzazione, quindi configura Managed Airflow per installare le dipendenze Python da un repository privato.

  2. Concedi autorizzazioni aggiuntive per l'installazione di pacchetti da repository privati al account di servizio del tuo ambiente, come descritto in Controllo dell'accesso.

Installare da un repository pubblico

Repository remoto

Questo è l'approccio consigliato per l'installazione di pacchetti da un repository pubblico.

Per installare i pacchetti PyPI dai repository al di fuori dello spazio IP privato:

  1. Crea un repository remoto Artifact Registry.
  2. Concedi a questo repository l'accesso alle origini upstream.
  3. Configura Airflow per installare pacchetti da un repository Artifact Registry.
  4. Concedi autorizzazioni aggiuntive per l'installazione di pacchetti dai repository Artifact Registry al account di servizio del tuo ambiente, come descritto in Controllo dell'accesso.

Connessioni esterne

Per installare i pacchetti PyPI dai repository al di fuori dello spazio IP privato:

  1. Configura Cloud NAT per consentire a Managed Airflow in esecuzione nello spazio IP privato di connettersi a repository PyPI esterni.

  2. Configura le regole firewall per consentire le connessioni in uscita dal cluster Composer al repository.

Configura la connettività ai servizi e alle API di Google

In una configurazione dei Controlli di servizio VPC, per controllare il traffico di rete, configura l'accesso alle API di Google e ai servizi tramite il restricted.googleapis.com. Questo dominio blocca l'accesso alle API di Google e ai servizi che non supportano i Controlli di servizio VPC.

Gli ambienti Managed Airflow 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 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, usa REGION.composer.cloud.google.com. Sostituisci REGION con la regione in cui si trova l'ambiente, ad esempio us-central1.
  • (Facoltativo) *.composer.googleusercontent.com viene utilizzato per accedere al server web Airflow del tuo ambiente. Questa regola è necessaria solo se accedi al server web Airflow da un'istanza in esecuzione nella rete VPC e non è necessaria altrimenti. Uno scenario comune per questa regola si verifica quando vuoi chiamare l'API REST di Airflow dall'interno della rete VPC.

    • In alternativa, puoi creare una regola per un ambiente specifico. Per farlo, utilizza ENVIRONMENT_WEB_SERVER_NAME.composer.googleusercontent.com . Sostituisci ENVIRONMENT_WEB_SERVER_NAME con la parte univoca dell'URL dell'interfaccia utente di Airflow del tuo ambiente, ad esempio bffe6ce6c4304c55acca0e57be23128c-dot-us-central1.
  • *.pkg.dev viene utilizzato per ottenere immagini dell'ambiente, ad esempio durante la creazione o l'aggiornamento di un ambiente.

  • *.gcr.io GKE richiede la connettività al dominio Container Registry indipendentemente dalla versione di Managed Airflow.

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:

  1. Crea una nuova zona DNS e utilizza Nome DNS come nome DNS di questa zona.

    Esempio: pkg.dev.

  2. Aggiungi un set di record per il record CNAME.

    Esempio:

    • Nome DNS: *.pkg.dev.
    • Tipo di record di risorse: CNAME
    • Nome canonico: pkg.dev.
  3. Aggiungi un set di record con per 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

Per ulteriori informazioni, vedi Configurazione della connettività privata alle API di Google e ai servizi Google.

Configura le regole firewall

Se il tuo progetto ha regole firewall non predefinite, ad esempio regole che sostituiscono le regole firewall implicite o modificano le regole precompilate nella rete predefinita, verifica che siano configurate le seguenti regole firewall.

Ad esempio, Managed Airflow 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 rispetto alla regola deny globale.

Configura la tua rete VPC per consentire il traffico dal tuo ambiente:

  • Consulta Utilizzo delle regole firewall per scoprire come controllare, aggiungere e aggiornare le regole per la tua 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 dei Controlli di servizio VPC per Cloud DNS
- - - - -
API di Google e servizi In uscita Consenti Indirizzi IPv4 di restricted.googleapis.com che utilizzi per API di Google e servizi. TCP 443
Nodi del cluster dell'ambiente In uscita Consenti Intervallo di indirizzi IP principali della subnet dell'ambiente TCP, UDP tutti
Pod del cluster dell'ambiente In uscita Consenti Intervallo di indirizzi IP secondario per i pod nella subnet dell'ambiente TCP, UDP tutti
Control plane del cluster dell'ambiente In uscita Consenti Intervallo IP del control plane GKE TCP, UDP tutti
(Se il tuo ambiente utilizza Private Service Connect) Subnet di connessione In uscita Consenti Intervallo di subnet di connessione di Managed Airflow TCP 3306, 3307, 19090
(Se il tuo ambiente utilizza i peering VPC) Rete tenant In uscita Consenti Intervallo IP della rete tenant Managed Airflow TCP 3306, 3307, 19090

Per ottenere gli intervalli IP del cluster dell'ambiente:

  • Gli intervalli di indirizzi di pod, servizi e control plane sono disponibili nella pagina Cluster del cluster del tuo ambiente:

    1. Nella console Google Cloud , vai alla pagina Ambienti.

      Vai ad Ambienti

    2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

    3. Vai alla scheda Configurazione ambiente.

    4. Segui il link Visualizza i dettagli del cluster.

  • Puoi visualizzare l'intervallo IP di rete del tenant Managed Airflow dell'ambiente nella scheda Configurazione dell'ambiente.

  • Puoi visualizzare l'ID subnet dell'ambiente e l'ID subnet di connessione Managed Airflow nella scheda Configurazione ambiente. Per ottenere gli intervalli IP per una subnet, vai alla pagina Reti VPC e fai clic sul nome della rete per visualizzare i dettagli:

    Vai a Reti VPC

Log dei Controlli di servizio VPC

Quando risolvi i problemi di creazione dell'ambiente, puoi analizzare gli audit log generati dai Controlli di servizio VPC.

Oltre ad altri messaggi di log, puoi controllare i log per informazioni su cloud-airflow-prod@system.gserviceaccount.com e service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com account di servizio che configurano i componenti dei tuoi ambienti.

Il servizio Managed Airflow utilizza il account di servizio cloud-airflow-prod@system.gserviceaccount.com per gestire i componenti del progetto tenant dei tuoi ambienti.

Il account di servizio service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com, noto anche come service account dell'agente di servizio Composer, gestisce i componenti dell'ambiente nei progetti di servizio e host.

Passaggi successivi