Configurazione dei Controlli di servizio VPC

Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)

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.

Gli ambienti Managed Airflow possono essere sottoposti a deployment all'interno di un perimetro di servizio. Configurando l'ambiente con i Controlli di servizio VPC, puoi mantenere privati i dati sensibili sfruttando le funzionalità di orchestrazione dei flussi 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 dei 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 offre:

  • Rischio ridotto di esfiltrazione di dati.
  • Protezione dall'esposizione dei dati a causa di controlli di accesso configurati in modo errato.
  • Rischio ridotto di utenti malintenzionati che copiano i dati in risorse non autorizzate Google Cloud o di attacchi esterni che accedono alle Google Cloud risorse da internet.

Informazioni sui Controlli di servizio VPC in Managed Airflow

Informazioni sulla connettività ai servizi e alle API di Google nei Controlli di servizio VPC

Managed Airflow (terza generazione) instrada il traffico ai servizi Google tramite restricted.googleapis.com, che consente l'accesso alle API, ai servizi e ai domini Google supportati da questo intervallo.

Per saperne di più e per visualizzare l'elenco dei servizi e dei domini disponibili tramite restricted.googleapis.com, consulta Configurazione di rete nella documentazione di Virtual Private Cloud.

Gli ambienti Managed Airflow (terza generazione) bloccano le chiamate alle API, ai servizi e ai domini Google che non sono inclusi nell' elenco delle API e dei servizi richiesti. Se vuoi chiamare un'API da un DAG:

  1. Assicurati che il servizio supporti i Controlli di servizio VPC.
  2. Aggiungi il servizio ai servizi limitati.
  3. Aggiungi il servizio ai servizi accessibili da VPC.

Ad esempio, se utilizzi un operatore Vertex AI, aggiungi aiplatform.googleapis.com sia ai servizi limitati sia ai servizi accessibili da VPC.

Per saperne di più sull'aggiunta di servizi a un perimetro, consulta Gestire i perimetri di servizio nella documentazione dei Controlli di servizio VPC.

In Managed Airflow (terza generazione), i servizi che non supportano i Controlli di servizio VPC e non sono disponibili tramite restricted.googleapis.com non sono accessibili dagli ambienti protetti con i Controlli di servizio VPC. Questa limitazione è stata aggiunta in Managed Airflow (terza generazione) per migliorare la sicurezza dell'ambiente. Sebbene Managed Airflow (seconda generazione) consenta di configurare l'accesso a questi servizi non supportati, ti consigliamo vivamente di non farlo in nessun ambiente protetto dai Controlli di servizio VPC.

Perimetri per ambienti con VPC condiviso e CMEK

Se il tuo ambiente è protetto da un perimetro di servizio e utilizza il VPC condiviso, le chiavi di crittografia gestite dal cliente (CMEK) o entrambi, assicurati che i seguenti progetti si trovino nello stesso perimetro di servizio:

  • Progetto di servizio: il progetto che contiene l'ambiente Managed Airflow.
  • Progetto host: il progetto che contiene la rete VPC condiviso.
  • Progetto che ospita le chiavi di Cloud Key Management Service.

Creare 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 Abilitare le API.

  2. Crea un perimetro seguendo le istruzioni di configurazione del perimetro in della documentazione dei Controlli di servizio VPC. Assicurati che l'elenco dei servizi protetti dal perimetro includa tutti i servizi utilizzati da Managed Airflow, oltre ad altri servizi che vuoi limitare:

    • API Cloud Composer (composer.googleapis.com)
    • API Artifact Registry (artifactregistry.googleapis.com)
    • API Compute Engine (compute.googleapis.com)
    • API Kubernetes Engine (container.googleapis.com)
    • API Container File System (containerfilesystem.googleapis.com)
    • API Cloud DNS (dns.googleapis.com)
    • API Service Account Credentials (iamcredentials.googleapis.com)
    • API Cloud Logging (logging.googleapis.com)
    • API Cloud Monitoring (monitoring.googleapis.com)
    • API Cloud Pub/Sub (pubsub.googleapis.com)
    • API Cloud SQL Admin (sqladmin.googleapis.com)
    • API Cloud Storage (storage.googleapis.com)

    • Per tutti gli altri servizi utilizzati dai DAG:

      1. Aggiungi il servizio ai servizi limitati.
      2. Aggiungi il servizio ai servizi accessibili da VPC.
  3. Se il perimetro di servizio limita l'accesso alle API utilizzando i servizi accessibili da VPC, assicurati che l' elenco dei servizi consentiti includa tutti i servizi utilizzati da Managed Airflow.

  4. Crea un nuovo ambiente Managed Airflow:

    1. Utilizza Google Cloud CLI per creare l'ambiente.
    2. Abilita l'IP privato con l'argomento --enable-private-environment.
    3. Specifica i parametri di accesso per il server web con --web-server-allow-all, --web-server-allow-ip, o --web-server-deny-all argomenti. Per saperne di più sull'utilizzo di questi argomenti, consulta Creare ambienti. Per migliorare la protezione, consenti l'accesso al server web solo da intervalli IP specifici.
    4. Non consentire l'installazione di pacchetti da repository nella rete internet pubblica con l'argomento --enable-private-builds-only.

      Esempio:

      gcloud composer environments create example-environment \
        --location us-central1 \
        --enable-private-environment \
        --web-server-allow-all \
        --enable-private-builds-only
      
  5. Per impostazione predefinita, l'accesso all'interfaccia utente e all'API di Airflow è consentito solo dall'interno del perimetro di sicurezza. Se vuoi renderlo disponibile all'esterno del perimetro di sicurezza, configura i livelli di accesso o le regole in entrata e in uscita.

  6. Per impostazione predefinita, il tuo ambiente non può accedere alle risorse all'esterno del perimetro, anche se un'API corrispondente viene aggiunta all'elenco dei servizi accessibili da VPC. Per consentire l'accesso alle risorse all'esterno del perimetro, configura un bridge del perimetro, regole in entrata e in uscita o sposta le risorse nello stesso perimetro.

    Ad esempio, supponiamo che tu abbia una chiave Cloud KMS nel perimetro A e un ambiente Managed Airflow nel perimetro B. Anche se consenti l'API Cloud Key Management Service nel perimetro B utilizzando i servizi accessibili da VPC, il tuo ambiente non può comunque accedere alla chiave. Devi anche configurare la comunicazione oltre il confine del perimetro.

Aggiungere un ambiente esistente al perimetro

Puoi aggiungere il progetto contenente il tuo ambiente a un perimetro se i tuoi ambienti utilizzano l'IP privato e l'installazione di pacchetti PyPI da repository pubblici è disabilitata.

Per aggiornare un ambiente Managed Airflow (terza generazione) esistente a questa configurazione:

  1. Assicurati di aver già creato o configurato il perimetro come descritto nella sezione precedente.
  2. Utilizza Google Cloud CLI per aggiornare l'ambiente.
  3. Abilita l'IP privato con l'argomento --enable-private-environment.
  4. Non consentire l'installazione di pacchetti da repository nella rete internet pubblica con l'argomento --enable-private-builds-only.
  5. Se necessario, configura l'accesso al server web Airflow. Per migliorare la protezione, consenti l'accesso al server web solo da intervalli IP specifici.

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment \
  --enable-private-builds-only

Installare i 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. Compila il repository con i pacchetti verificati utilizzati dalla tua organizzazione, quindi configura Managed Airflow per installare le dipendenze Python da un repository privato.

Installare da un repository pubblico

Per installare i pacchetti PyPI da un repository esterno:

  1. Crea un repository remoto Artifact Registry.
  2. Concedi a questo repository l'accesso alle origini upstream.
  3. Configura Airflow per installare i pacchetti da un repository Artifact Registry.

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 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 Managed Airflow utilizza l' cloud-airflow-prod@system.gserviceaccount.com account di servizio per gestire i componenti del progetto tenant dei tuoi ambienti.

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

Passaggi successivi