Configurazione delle restrizioni sulla località delle risorse

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina mostra come configurare le restrizioni sulla località delle risorse per garantire che i dati archiviati da Cloud Composer vengano conservati all'interno delle località specificate.

Come funzionano le limitazioni di località

Le limitazioni relative alla località per Cloud Composer sono determinate in base al criterio dell'organizzazione applicato al progetto in cui viene creato l'ambiente Cloud Composer. Questo criterio viene assegnato all'interno del progetto o ereditato dall'organizzazione.

Con le limitazioni di località abilitate, non è possibile creare un ambiente in una regione vietata dal criterio. Se una regione è elencata nell'elenco di elementi non consentiti o non è elencata nell'elenco di elementi consentiti, non puoi creare ambienti in questa regione.

Per abilitare la creazione di ambienti, il criterio deve consentire l'intera regione e non una zona specifica all'interno di questa regione. Ad esempio, la regione europe-west3 deve essere consentita dal criterio per creare ambienti Cloud Composer in questa regione.

Cloud Composer controlla le limitazioni di località all'indirizzo:

  • Creazione dell'ambiente.
  • Upgrade dell'ambiente, se durante l'operazione vengono create risorse aggiuntive.
  • Aggiornamento dell'ambiente, per ambienti meno recenti che non applicano limitazioni di località alle dipendenze di Cloud Composer.

Oltre a controllare le limitazioni della località, Cloud Composer fa quanto segue:

  • Archivia immagini Airflow personalizzate dall'utente in repository Artifact Registry regionali.
  • Se il criterio US (più regioni) è espressamente vietato dal criterio, l'utilizzo di Cloud Build è disabilitato. In questo caso, le immagini Airflow personalizzate dall'utente vengono create nel tuo cluster GKE.

Installa una dipendenza Python in un ambiente IP privato con restrizioni sulla località delle risorse

Se imposti restrizioni sulla località delle risorse per il progetto, Cloud Build non può essere utilizzato per installare pacchetti Python. Di conseguenza, l'accesso diretto ai repository sulla rete internet pubblica è disabilitato.

Per installare le dipendenze Python in un ambiente IP privato quando le restrizioni sulla località non consentono l'utilizzo di US più regioni, utilizza una delle seguenti opzioni:

  • Utilizza un repository PyPI privato ospitato nella tua rete VPC.

  • Utilizza un server proxy nella rete VPC per connetterti a un repository PyPI sulla rete internet pubblica. Specifica l'indirizzo proxy nel file /config/pip/pip.conf del bucket Cloud Storage.

  • Se il criterio di sicurezza consente l'accesso alla rete VPC da indirizzi IP esterni, puoi configurare Cloud NAT.

  • Archivia le dipendenze Python nella cartella dags del bucket Cloud Storage per installarle come librerie locali. Potrebbe non essere una buona opzione se l'albero delle dipendenze è di grandi dimensioni.

Limita le località per i log di Cloud Composer

Se i log di Cloud Composer contengono dati sensibili, può essere utile reindirizzare i log di Cloud Composer a un bucket Cloud Storage regionale. Per farlo, utilizza un sink di log. Dopo aver reindirizzato i log a un bucket Cloud Storage, questi non vengono inviati a Cloud Logging.

gcloud

  1. Creare un nuovo bucket Cloud Storage.

    gsutil mb -l LOCATION gs://BUCKET_NAME
    

    Sostituisci:

    • LOCATION con la regione in cui si trova l'ambiente.
    • BUCKET_NAME con il nome del bucket. Ad esempio, composer-logs-us-central1-example-environment.
  2. Crea un nuovo sink di log.

    gcloud logging sinks create \
    composer-log-sink-ENVIRONMENT_NAME \
    storage.googleapis.com/BUCKET_NAME \
    --log-filter "resource.type=cloud_composer_environment AND \
    resource.labels.environment_name=ENVIRONMENT_NAME AND \
    resource.labels.location=LOCATION"
    

    Sostituisci:

    • ENVIRONMENT_NAME con il nome dell'ambiente.
    • BUCKET_NAME con il nome del bucket.
    • LOCATION con la regione in cui si trova l'ambiente.
  3. L'output del comando precedente contiene il numero dell'account di servizio. Concedi il ruolo Creatore oggetti Storage a questo account di servizio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SA_NUMBER@gcp-sa-logging.iam.gserviceaccount.com" \
    --role='roles/storage.objectCreator' \
    --condition=None
    

    Sostituisci:

    • PROJECT_ID con l'ID progetto.
    • SA_NUMBER con il numero dell'account di servizio fornito dal comando gcloud logging sinks create nel passaggio precedente.
  4. Escludere i log per il tuo ambiente da Monitoring.

    gcloud logging sinks update _Default \
    --add-exclusion name=ENVIRONMENT_NAME-exclusion,filter=\
    "resource.type=cloud_composer_environment AND \
    resource.labels.environment_name=ENVIRONMENT_NAME AND \
    resource.labels.location=LOCATION"
    

    Sostituisci:

    • ENVIRONMENT_NAME con il nome dell'ambiente.
    • LOCATION con la regione in cui si trova l'ambiente.

Passaggi successivi