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 2 beispielsweise ein solcher Zugriff auf den Cluster Ihrer Umgebung ist in privaten IP-Umgebungen erforderlich, um kubectl-Befehle in Ihrem Cluster der Umgebung. Netzwerke, von denen solche Anfragen stammen, müssen für den Zugriff auf die Steuerungsebene des Clusters Ihrer 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. So können Sie beispielsweise festlegen, dass bestimmte IP-Bereiche kubectl-Befehle ausführen können. Standardmäßig können Sie in privaten IP-Umgebungen diese Befehle nur von einer 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. Standardmäßig gibt es in öffentlichen IP-Umgebungen keine Einschränkungen für IP-Bereiche, die kubectl-Befehle ausführen 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-2.9.7-airflow-2.9.3 \
    --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-2.9.7-airflow-2.9.3 \
    --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": {
    "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": {
    "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, wird vom master_authorized_networks_config im config-Block steuert autorisierte Netzwerke für Ihr zu verbessern.

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 {
    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 an master_authorized_networks_config.

Beispiel (private IP-Umgebung):

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

  config {

    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 zum Angeben autorisierter Netzwerke die --enable-master-authorized-networks . 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.

Wenn Sie autorisierte Netzwerke für eine private IP-Umgebung hinzufügen möchten, fügen Sie Ihrer Umgebungsdefinition diesen Block hinzu:

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 master_authorized_networks_config zusätzliche cidr_blocks-Blöcke 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 in den Steuerelementen für den config-Block und autorisierte Netzwerke für Ihre Umgebung.

Wenn Sie autorisierte Netzwerke deaktivieren möchten, setzen Sie das Feld enabled im Block master_authorized_networks_config auf false.

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