Configura le reti autorizzate in Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In questa pagina viene spiegato come configurare le reti autorizzate per il tuo ambiente.

Informazioni sulle reti autorizzate in Cloud Composer

Le reti autorizzate ti consentono di specificare Intervalli CIDR che possono accedere al piano di controllo del cluster dell'ambiente utilizzando HTTPS.

Ad esempio, in Cloud Composer 1, questo accesso al cluster del tuo ambiente è obbligatorio negli ambienti IP privati per eseguire comandi CLI di Airflow(gcloud composer environments run). Le reti da cui originano queste richieste devono essere autorizzate ad accedere al piano di controllo del cluster del tuo ambiente.

Reti autorizzate in ambienti IP pubblici e privati

Puoi specificare le reti autorizzate sia per gli ambienti IP pubblico che per quelli IP privato.

  • Negli ambienti IP privati puoi configurare le reti autorizzate per consentire un determinato intervallo di indirizzi IP per accedere al piano di controllo nel cluster dell'ambiente di lavoro. Ad esempio, per consentire a determinati intervalli IP esegui i comandi kubectl e l'interfaccia a riga di comando di Airflow. Per impostazione predefinita, negli ambienti IP privati puoi eseguire questi comandi solo da una VM nella sottorete VPC dell'ambiente IP privato.

  • Negli ambienti IP pubblico, puoi configurare le reti autorizzate per limitare l'intervallo di indirizzi IP che possono accedere al piano di controllo del cluster del tuo ambiente. Per impostazione predefinita, negli ambienti IP pubblici non esistono limitazioni agli intervalli IP che possono eseguire i comandi kubectl e Airflow CLI.

Prima di iniziare

Crea ambienti con reti autorizzate

gcloud

Per creare un ambiente con reti autorizzate, utilizza --enable-master-authorized-networks quando crei un completamente gestito di Google Cloud. Quindi, fornisci un elenco separato da virgole di intervalli CIDR in l'argomento --master-authorized-networks.

Per specificare le reti autorizzate per un ambiente IP privato:

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-master-authorized-networks \
    --master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente individuarlo.
  • AUTHORIZED_NETWORKS_IP_RANGES con un elenco di indirizzi IP separati da virgole nella notazione CIDR. Questi intervalli vengono aggiunti come reti autorizzate per il cluster del tuo ambiente.

Esempio (ambiente IP privato):

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-privately-used-public-ips \
    --enable-master-authorized-networks \
    --master-authorized-networks 192.0.2.0/23,192.0.4.0/23

API

Costruire una richiesta API environments.create. Nella risorsa Environment, specifica i parametri di configurazione per un ambiente con reti autorizzate.

Per specificare le reti autorizzate per un ambiente IP privato:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "ipAllocationPolicy": {

        "useIpAliases": true,
      }
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
    },
    "masterAuthorizedNetworksConfig": {
      "enabled": true,
      "cidrBlocks": [
        {
          "displayName": "AUTHORIZED_NETWORK_NAME",
          "cidrBlock": "AUTHORIZED_NETWORK_RANGE"
        }
      ]
    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • AUTHORIZED_NETWORK_NAME con il nome dell'intervallo IP della rete autorizzata. Utilizza questo nome per identificare il blocco. Questo campo è facoltativo.
  • AUTHORIZED_NETWORK_RANGE con un intervallo di indirizzi IP in notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.
  • Se vuoi utilizzare più intervalli IP, aggiungi altri intervalli a cidrBlocks.

Esempio (ambiente IP privato):

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "example-environment",
  "config": {
    "nodeConfig": {
      "ipAllocationPolicy": {
        "useIpAliases": true,
      }
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
    },
    "masterAuthorizedNetworksConfig": {
      "enabled": true,
      "cidrBlocks": [
        {
          "displayName": "example_range_1",
          "cidrBlock": "192.0.2.0/23"
        },
        {
          "displayName": "example_range_2",
          "cidrBlock": "192.0.4.0/23"
        }
      ]
    }
  }
}

Terraform

Quando crei un ambiente, il blocco master_authorized_networks_config nel blocco config controlla le reti autorizzate per l'ambiente.

Per specificare le reti autorizzate per un ambiente IP privato:

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    node_config {
      ip_allocation_policy = [{
        use_ip_aliases = true
      }]
    }
    private_environment_config {
      // Private environment parameters
    }

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "AUTHORIZED_NETWORK_RANGE"
          display_name = "AUTHORIZED_NETWORK_NAME"
      }

    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente individuarlo.
  • AUTHORIZED_NETWORK_RANGE con un indirizzo IP nella notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.
  • AUTHORIZED_NETWORK_NAME con il nome dell'IP della rete autorizzata intervallo. Devi utilizzare questo nome per identificare il blocco.
  • Se vuoi utilizzare diversi intervalli IP, aggiungi altri blocchi cidr_blocks a a master_authorized_networks_config.

Esempio (ambiente IP privato):

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    node_config {

      // Specify your network and subnetwork
      network    = google_compute_network.example_network.id
      subnetwork = google_compute_subnetwork.example_subnet.id

      ip_allocation_policy = [{
        use_ip_aliases = true
      }]
    }

    private_environment_config {
      // Private environment parameters
    }

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "192.0.2.0/23"
          display_name = "example_range_1"
      }

      cidr_blocks {
          cidr_block = "192.0.4.0/23"
          display_name = "example_range_2"
      }
    }
  }
}

Specifica le reti autorizzate per un ambiente esistente

Puoi specificare le reti autorizzate per un ambiente esistente.

gcloud

Per specificare le reti autorizzate, utilizza l'argomento --enable-master-authorized-networks. Quindi, fornisci un elenco separato da virgole di intervalli CIDR in l'argomento --master-authorized-networks.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-master-authorized-networks \
  --master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente individuarlo.
  • AUTHORIZED_NETWORKS_IP_RANGES con un elenco di indirizzi IP separati da virgole nella notazione CIDR. Questi intervalli vengono aggiunti come reti autorizzate per il cluster del tuo ambiente.

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-master-authorized-networks \
  --master-authorized-networks 192.0.2.0/23,192.0.4.0/23

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Nel corpo della richiesta, specifica gli intervalli CIDR per le reti autorizzate.

"config": {

  "masterAuthorizedNetworksConfig": {
    "enabled": true,
    "cidrBlocks": [
      {
        "displayName": "AUTHORIZED_NETWORK_NAME",
        "cidrBlock": "AUTHORIZED_NETWORK_RANGE"
      }
    ]
  }
}

Sostituisci:

  • AUTHORIZED_NETWORK_NAME con il nome dell'IP della rete autorizzata intervallo. Devi utilizzare questo nome per identificare il blocco. Questo campo è facoltativo.
  • AUTHORIZED_NETWORK_RANGE con un indirizzo IP nella notazione CIDR. Questo intervallo viene aggiunto come rete autorizzata per il cluster del tuo ambiente.
  • Se vuoi utilizzare più intervalli IP, aggiungi altri intervalli a cidrBlocks.

Esempio:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig

"config": {
  "masterAuthorizedNetworksConfig": {
    "enabled": true,
    "cidrBlocks": [
      {
        "displayName": "example_range_1",
        "cidrBlock": "192.0.2.0/23"
      },
      {
        "displayName": "example_range_2",
        "cidrBlock": "192.0.4.0/23"
      }
    ]
  }
}

Terraform

Il blocco master_authorized_networks_config nei controlli del blocco config autorizzate per il tuo ambiente.

Per aggiungere reti autorizzate per un ambiente IP privato, aggiungi questo blocco a definizione dell'ambiente:

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "example_environment"
  region = "us-central1"

  config {

    // Other environment parameters

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "AUTHORIZED_NETWORK_RANGE"
          display_name = "AUTHORIZED_NETWORK_NAME"
      }

    }
  }
}

Sostituisci:

  • AUTHORIZED_NETWORK_RANGE con un intervallo di indirizzi IP in notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.
  • AUTHORIZED_NETWORK_NAME con il nome dell'IP della rete autorizzata intervallo. Devi utilizzare questo nome per identificare il blocco.
  • Se vuoi utilizzare più intervalli IP, aggiungi blocchi cidr_blocks aggiuntivi a master_authorized_networks_config.

Esempio:

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    // Other environment parameters

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "192.0.2.0/23"
          display_name = "example_range_1"
      }

      cidr_blocks {
          cidr_block = "192.0.4.0/23"
          display_name = "example_range_2"
      }
    }
  }
}

Disabilita reti autorizzate

Puoi disattivare le reti autorizzate per un ambiente esistente:

  • Per gli ambienti IP privati, rimuove l'accesso per gli intervalli che erano aggiunta in precedenza come rete autorizzata.
  • Per gli ambienti IP pubblici, vengono rimosse le limitazioni configurate in precedenza.

gcloud

Per disattivare le reti autorizzate, utilizza l'argomento --disable-master-authorized-networks.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-master-authorized-networks

Sostituisci:

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

Esempio:

gcloud composer environments update example-environment \
  --location us-central1 \
  --disable-master-authorized-networks

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Nel corpo della richiesta, specifica false nel campo enabled.

"config": {

  "masterAuthorizedNetworksConfig": {
    "enabled": false
  }
}

Esempio:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig

"config": {
  "masterAuthorizedNetworksConfig": {
    "enabled": false,
  }
}

Terraform

Il blocco master_authorized_networks_config nel blocco config controlla le reti autorizzate per il tuo ambiente.

Per disattivare le reti autorizzate, imposta il campo enabled nel blocco master_authorized_networks_config su false.

Esempio:

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "example_environment"
  region = "us-central1"

  config {

    // Other environment parameters

    master_authorized_networks_config {
      enabled = false
    }
  }
}

Passaggi successivi