Configurazione delle restrizioni sulla località delle risorse

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Come funzionano le limitazioni relative alla 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 è assegnato all'interno del progetto o ereditati dall'organizzazione.

Se le limitazioni di località sono attivate, non è possibile creare di un ambiente in una regione vietato dai criteri. Se una regione se è presente nell'elenco Nega impossibile creare ambienti in questa regione.

Per consentire 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 poter 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 gli ambienti precedenti che non applicano limitazioni di località alle dipendenze di Cloud Composer.

Oltre a controllare le limitazioni relative alla località, Cloud Composer svolge le seguenti operazioni:

  • Memorizza le immagini Airflow personalizzate dall'utente nei repository Artifact Registry regionali.
  • Se la US (più regioni) è espressamente vietata dal l'utilizzo di Cloud Build è disabilitato. In questo caso, le creatività personalizzate Le immagini Airflow 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 tuo progetto, Non è possibile utilizzare Cloud Build 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 limitazioni di località non consentono la regione multipla US, utilizza una delle seguenti opzioni:

  • Utilizza un profilo privato Repository PyPI ospitato nella tua rete VPC.

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

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

  • Archivia le dipendenze Python nella cartella dags in del bucket Cloud Storage, installarle come librerie locali. Questa 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, ti consigliamo per reindirizzare i log di Cloud Composer a un'istanza nel bucket Cloud Storage. 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. Crea un nuovo bucket Cloud Storage.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION
    

    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 servizio numero di conto bancario. Concedi a questo ruolo il ruolo Creatore oggetti Storage 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 il ID progetto.
    • SA_NUMBER con il numero dell'account di servizio fornito da il comando gcloud logging sinks create nel passaggio precedente.
  4. Escludi i log per il tuo ambiente dal monitoraggio.

    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