Configurer des réseaux autorisés dans Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Cette page explique comment configurer des réseaux autorisés pour votre environnement.

À propos des réseaux autorisés dans Cloud Composer

Les réseaux autorisés vous permettent de spécifier des plages CIDR pouvant accéder au plan de contrôle des clusters de votre environnement à l'aide du protocole HTTPS.

Par exemple, dans les environnements d'adresses IP privées, l'accès au cluster de votre environnement est nécessaire pour exécuter les commandes de CLI Airflow (gcloud composer environments run). Les réseaux d'où proviennent ces requêtes doivent être autorisés à accéder au plan de contrôle du cluster de votre environnement.

Réseaux autorisés dans les environnements d'adresses IP privées et publiques

Vous pouvez spécifier des réseaux autorisés pour les adresses IP publiques et privées.

  • Dans les environnements d'adresse IP privée, vous pouvez configurer des réseaux autorisés pour autoriser une certaine plage d'adresses IP à accéder au plan de contrôle du cluster de votre environnement. Par exemple, pour autoriser certaines plages d'adresses IP à exécuter les commandes de CLI Airflow. Par défaut, dans les environnements d'adresse IP privée, vous ne pouvez exécuter des commandes de CLI Airflow qu'à partir d'une VM du sous-réseau VPC de l'environnement d'adresse IP privée.

  • Dans les environnements d'adresse IP publique, vous pouvez configurer des réseaux autorisés pour restreindre la plage d'adresses IP pouvant accéder au plan de contrôle du cluster de votre environnement. Par défaut, dans les environnements d'adresse IP publique, aucune restriction n'est imposée sur les plages d'adresses IP pouvant exécuter des commandes de CLI Airflow.

Avant de commencer

Créer des environnements avec des réseaux autorisés

gcloud

Pour créer un environnement contenant des réseaux autorisés, utilisez l'argument --enable-master-authorized-networks lorsque vous créez un environnement. Fournissez ensuite une liste de plages CIDR séparées par une virgule dans l'argument --master-authorized-networks.

Pour spécifier des réseaux autorisés pour un environnement d'adresse IP privée, procédez comme suit :

gcloud beta composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-master-authorized-networks \
    --master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.
  • AUTHORIZED_NETWORKS_IP_RANGES par la liste des plages d'adresses IP au format CIDR, séparées par une virgule. Ces plages sont ajoutées en tant que réseaux autorisés pour le cluster de votre environnement.

Exemple (environnement d'adresse IP privée) :

gcloud beta composer environments create example-environment \
    --location us-central1 \
    --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

Rédigez une requête API environments.create. Dans la ressource Environnement, spécifiez les paramètres de configuration d'un environnement avec des réseaux autorisés.

Pour spécifier des réseaux autorisés pour un environnement d'adresse IP privée, procédez comme suit :

// POST https://composer.googleapis.com/v1beta1/{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"
        }
      ]
    }
  }
}

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • AUTHORIZED_NETWORK_NAME par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc. Ce champ est facultatif.
  • AUTHORIZED_NETWORK_RANGE par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.
  • Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des plages supplémentaires à cidrBlocks.

Exemple (environnement d'adresse IP privée) :

// POST https://composer.googleapis.comv1beta1/{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

Dans la version Bêta, il n'est pas possible de spécifier des réseaux autorisés avec Terraform.

Spécifier des réseaux autorisés pour un environnement existant

Vous pouvez spécifier des réseaux autorisés pour un environnement existant.

gcloud

Pour spécifier des réseaux autorisés, utilisez l'argument --enable-master-authorized-networks. Fournissez ensuite une liste de plages CIDR séparées par une virgule dans l'argument --master-authorized-networks.

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.
  • AUTHORIZED_NETWORKS_IP_RANGES par la liste des plages d'adresses IP au format CIDR, séparées par une virgule. Ces plages sont ajoutées en tant que réseaux autorisés pour le cluster de votre environnement.

Exemple :

gcloud beta 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. Rédigez une requête d'API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Dans le corps de la requête, spécifiez des plages CIDR pour les réseaux autorisés.

"config": {

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

Remplacez :

  • AUTHORIZED_NETWORK_NAME par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc. Ce champ est facultatif.
  • AUTHORIZED_NETWORK_RANGE par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.
  • Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des plages supplémentaires à cidrBlocks.

Exemple :

// PATCH https://composer.googleapis.com/v1beta1/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

Dans la version Bêta, il n'est pas possible de spécifier des réseaux autorisés avec Terraform.

Désactiver les réseaux autorisés

Vous pouvez désactiver les réseaux autorisés pour un environnement existant :

  • Pour les environnements d'adresse IP privée, cela supprime l'accès des plages précédemment ajoutées en tant que réseaux autorisés.
  • Pour les environnements d'adresses IP publiques, cela supprime les restrictions précédemment configurées.

gcloud

Pour désactiver les réseaux autorisés, utilisez l'argument --disable-master-authorized-networks.

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.

Exemple :

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

API

  1. Rédigez une requête d'API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Dans le corps de la requête, spécifiez false dans le champ enabled.

"config": {

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

Exemple :

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

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

Terraform

Dans la version Bêta, il n'est pas possible de spécifier des réseaux autorisés avec Terraform.

Étapes suivantes