Autorisierte Netzwerke in Cloud Composer konfigurieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird erläutert, wie Sie autorisierte Netzwerke für Ihre Umgebung konfigurieren.

Autorisierte Netzwerke in Cloud Composer

Mit autorisierten Netzwerken können Sie CIDR-Bereiche angeben, die über HTTPS auf die Cluster-Steuerungsebene Ihrer Umgebung zugreifen können.

In Cloud Composer 1 ist ein solcher Zugriff auf den Cluster der Umgebung beispielsweise in privaten IP-Umgebungen erforderlich, um Airflow-Befehlszeilenbefehle(gcloud composer environments run) auszuführen. Netzwerke, von denen solche Anfragen stammen, müssen für den Zugriff auf die Steuerungsebene des Clusters der Umgebung autorisiert sein.

Autorisierte Netzwerke in privaten und öffentlichen IP-Umgebungen

Sie können autorisierte Netzwerke sowohl für öffentliche IP-Umgebungen als auch für private IP-Umgebungen angeben.

  • In privaten IP-Umgebungen können Sie autorisierte Netzwerke konfigurieren, um einem bestimmten Bereich von IP-Adressen Zugriff auf die Steuerungsebene des Clusters Ihrer Umgebung zu gewähren. Beispielsweise können Sie bestimmten IP-Bereichen das Ausführen von kubectl- und Airflow-CLI-Befehlen erlauben. In privaten IP-Umgebungen können Sie diese Befehle standardmäßig nur über eine VM im VPC-Subnetzwerk der privaten IP-Umgebung ausführen.

  • In öffentlichen IP-Umgebungen können Sie autorisierte Netzwerke konfigurieren, um den Bereich der IP-Adressen einzuschränken, die auf die Steuerungsebene des Clusters Ihrer Umgebung zugreifen können. In öffentlichen IP-Umgebungen gibt es standardmäßig keine Einschränkungen für IP-Bereiche, in denen kubectl- und Airflow-Befehlszeilenbefehle ausgeführt werden können.

Hinweise

Umgebungen mit autorisierten Netzwerken erstellen

gcloud

Verwenden Sie beim Erstellen einer Umgebung das Argument --enable-master-authorized-networks, um eine Umgebung mit autorisierten Netzwerken zu erstellen. Geben Sie dann eine durch Kommas getrennte Liste von CIDR-Bereichen im Argument --master-authorized-networks an.

So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • AUTHORIZED_NETWORKS_IP_RANGES durch eine durch Kommas getrennte Liste von IP-Adressbereichen in der CIDR-Notation. Diese Bereiche werden als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.

Beispiel (private IP-Umgebung):

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

Erstellen Sie eine API-Anfrage environments.create. Geben Sie in der Umgebungsressource die Konfigurationsparameter für eine Umgebung mit autorisierten Netzwerken an.

So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:

// 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"
        }
      ]
    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • AUTHORIZED_NETWORK_NAME durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block. Dieses Feld ist optional.
  • AUTHORIZED_NETWORK_RANGE durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.
  • Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche Bereiche zu cidrBlocks hinzu.

Beispiel (private IP-Umgebung):

// 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

Wenn Sie eine Umgebung erstellen, steuert der Block master_authorized_networks_config im Block config die autorisierten Netzwerke für Ihre Umgebung.

So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:

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"
      }

    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • AUTHORIZED_NETWORK_RANGE durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.
  • AUTHORIZED_NETWORK_NAME durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block.
  • Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche cidr_blocks-Blöcke zu master_authorized_networks_config hinzu.

Beispiel (private IP-Umgebung):

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"
      }
    }
  }
}

Autorisierte Netzwerke für eine vorhandene Umgebung angeben

Sie können autorisierte Netzwerke für eine vorhandene Umgebung angeben.

gcloud

Verwenden Sie das Argument --enable-master-authorized-networks, um autorisierte Netzwerke anzugeben. Geben Sie dann eine durch Kommas getrennte Liste von CIDR-Bereichen im Argument --master-authorized-networks an.

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • AUTHORIZED_NETWORKS_IP_RANGES durch eine durch Kommas getrennte Liste von IP-Adressbereichen in der CIDR-Notation. Diese Bereiche werden als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.

Beispiel:

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. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.softwareConfig.masterAuthorizedNetworksConfig-Maske an.

    2. Geben Sie im Anfragetext CIDR-Bereiche für autorisierte Netzwerke an.

"config": {

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

Ersetzen Sie:

  • AUTHORIZED_NETWORK_NAME durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block. Dieses Feld ist optional.
  • AUTHORIZED_NETWORK_RANGE durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisiertes Netzwerk für den Cluster Ihrer Umgebung hinzugefügt.
  • Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche Bereiche zu cidrBlocks hinzu.

Beispiel:

// 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

Der Block master_authorized_networks_config im Block config steuert autorisierte Netzwerke für Ihre Umgebung.

Fügen Sie Ihrer Umgebungsdefinition diesen Block hinzu, um autorisierte Netzwerke für eine private IP-Umgebung hinzuzufügen:

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"
      }

    }
  }
}

Ersetzen Sie:

  • AUTHORIZED_NETWORK_RANGE durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.
  • AUTHORIZED_NETWORK_NAME durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block.
  • Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche cidr_blocks-Blöcke zu master_authorized_networks_config hinzu.

Beispiel:

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"
      }
    }
  }
}

Autorisiertes Netzwerk deaktivieren

Sie können autorisierte Netzwerke für eine vorhandene Umgebung deaktivieren:

  • Bei Umgebungen mit privaten IP-Adressen wird der Zugriff für Bereiche entfernt, die zuvor als autorisiertes Netzwerk hinzugefügt wurden.
  • Bei öffentlichen IP-Umgebungen werden zuvor konfigurierte Einschränkungen aufgehoben.

gcloud

Verwenden Sie das Argument --disable-master-authorized-networks, um autorisierte Netzwerke zu deaktivieren.

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.

Beispiel:

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

API

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.softwareConfig.masterAuthorizedNetworksConfig-Maske an.

    2. Geben Sie im Anfragetext false im Feld enabled an.

"config": {

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

Beispiel:

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

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

Terraform

Der Block master_authorized_networks_config im Block config steuert autorisierte Netzwerke für Ihre Umgebung.

Zum Deaktivieren autorisierter Netzwerke legen Sie das Feld enabled im Block master_authorized_networks_config auf false fest.

Beispiel:

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
    }
  }
}

Nächste Schritte