Configurer des mises à jour groupées des règles de stratégie de pare-feu

Cette page explique comment configurer la mise à jour par lot pour toutes les règles de stratégie de pare-feu (stratégies de pare-feu hiérarchiques et réseau). Pour effectuer la mise à jour par lot, vous pouvez utiliser la Google Cloud CLI ou l'API Compute Engine.

Pour en savoir plus sur les mises à jour par lot, consultez la section Présentation.

Si vous utilisez gcloud CLI pour mettre à jour les règles de stratégie de pare-feu de manière groupée, utilisez les commandes gcloud CLI suivantes:

  • export-rules: vous permet d'exporter la configuration des règles de stratégie de pare-feu vers un fichier YAML. Dans le fichier YAML, vous pouvez ensuite ajouter, modifier et supprimer la configuration des règles de stratégie de pare-feu en fonction de vos besoins.

  • import-rules: vous permet d'importer le fichier de configuration des règles de stratégie de pare-feu modifié. Les règles existantes de la stratégie de pare-feu spécifiée sont remplacées.

Si vous utilisez des API REST pour mettre à jour les règles de stratégie de pare-feu par lot, utilisez la méthode patch. La méthode patch vous permet de remplacer toutes les règles de la stratégie de pare-feu en fournissant le champ rules dans la requête. Vous n'avez pas besoin de créer de fichier YAML. Lorsque vous utilisez la méthode patch, conservez les règles goto_next par défaut avec la priorité la plus basse.

Avant de commencer

Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Trusted Cloud by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme décrit dans cette section.

Console

Lorsque vous utilisez la console Trusted Cloud pour accéder aux services et aux API Trusted Cloud by S3NS , vous n'avez pas besoin de configurer l'authentification.

gcloud

  1. Après avoir installé Google Cloud CLI, initialisez-la en exécutant la commande suivante:

    
    gcloud init
    
    

    Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  2. Définissez la région et la zone par défaut dans votre client local.

REST

Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

Après avoir installé Google Cloud CLI, initialisez-la en exécutant la commande suivante:


gcloud init

Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentificationTrusted Cloud by S3NS .

Créer un fichier YAML

Vous pouvez utiliser la commande export-rules pour exporter les règles de stratégie de pare-feu existantes vers un fichier YAML. Pour en savoir plus, consultez Exporter une règle de stratégie de pare-feu. Le fichier YAML exporté inclut les règles goto_next par défaut avec la priorité la plus basse (règles dont la priorité est supérieure ou égale à 2147483644). Assurez-vous de ne pas modifier ces règles goto_next par défaut.

Toutefois, si vous ne souhaitez pas utiliser la commande export-rules, vous pouvez également créer manuellement un fichier YAML pour modifier les règles. Pour créer manuellement un fichier YAML, procédez comme suit:

  1. Créez un fichier YAML RULES_YAML_FILE. Remplacez RULES_YAML_FILE` par le nom de fichier de votre choix.

  2. Ajoutez le champ rules au fichier YAML. Le champ rules contient la liste de vos règles de stratégie de pare-feu. Pour obtenir un schéma décrivant le format d'exportation ou d'importation, consultez CLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml. Où CLOUDSDKROOT est le répertoire d'installation de Google Cloud CLI.

    Voici un exemple de schéma YAML.

        rules:
        -action: deny
         description:
         priority: 1
         disabled: false
         enable-logging: false
         kind: compute#firewallPolicyRule
         ...
        -action: goto_next
         priority: 2
         disabled: false
         enable-logging: false
         ...
      

    Pour modifier les règles de stratégie de pare-feu, consultez la section Modifier les règles de stratégie de pare-feu.

Règle de stratégie de pare-feu d'exportation

Vous pouvez lancer des mises à jour à l'aide de gcloud CLI ou de l'API Compute Engine.

Exporter une stratégie de pare-feu hiérarchique

Exportez les règles de la stratégie de pare-feu hiérarchique.

gcloud

Pour exporter des règles à partir d'une stratégie de pare-feu hiérarchique, exécutez la commande gcloud compute firewall-policies export-rules:

gcloud compute firewall-policies export-rules FIREWALL_POLICY \
    --destination=DESTINATION \
    --organization=ORGANIZATION

Remplacez les éléments suivants :

  • FIREWALL_POLICY: nom court ou ID de votre stratégie de pare-feu hiérarchique à partir de laquelle exporter des règles
  • DESTINATION: chemin d'accès à un fichier YAML dans lequel la configuration sera exportée
  • ORGANIZATION: organisation dans laquelle la stratégie de pare-feu de l'organisation doit être mise à jour. Doit être défini si FIREWALL_POLICY est un nom court

API

Pour exporter les règles existantes de la stratégie de pare-feu hiérarchique, utilisez la méthode firewallPolicies.get de l'API Compute Engine:

  GET https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Remplacez les éléments suivants :

Exporter une stratégie de pare-feu réseau

Exportez les règles de pare-feu à partir de la stratégie de pare-feu réseau.

gcloud

Pour exporter la configuration des règles de stratégie de pare-feu réseau vers un fichier, exécutez la commande gcloud compute network-firewall-policies export-rules:

gcloud compute network-firewall-policies export-rules FIREWALL_POLICY \
    --destination=RULES_YAML_FILE_PATH \
    --global | --region=REGION

Remplacez les éléments suivants :

  • FIREWALL_POLICY: nom de la stratégie de pare-feu réseau à partir de laquelle exporter des règles
  • RULES_YAML_FILE_PATH: chemin d'accès à un fichier YAML dans lequel la configuration est exportée
  • REGION: spécifiez --global s'il s'agit d'une règle globale ou REGION s'il s'agit d'une règle régionale.

API

Pour exporter les règles existantes à partir de la stratégie de pare-feu réseau global, utilisez la méthode networkFirewallPolicies.get dans l'API Compute Engine:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicies/FIREWALL_POLICY_NAME
   

Remplacez les éléments suivants :

  • PROJECT : ID de votre projet
  • FIREWALL_POLICY_NAME: nom de la stratégie de pare-feu que vous souhaitez exporter

Pour exporter les règles existantes à partir de la stratégie de pare-feu réseau régional, utilisez la méthode regionNetworkFirewallPolicies.get de l'API Compute Engine:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME

Remplacez les éléments suivants :

  • PROJECT : ID de votre projet
  • REGION: région des règles de stratégie de pare-feu
  • FIREWALL_POLICY_NAME: nom de la stratégie de pare-feu que vous souhaitez exporter

Cette requête renvoie une définition de ressource de stratégie de pare-feu.

Modifier les règles de stratégie de pare-feu

Modifiez les règles de stratégie de pare-feu que vous avez exportées dans la section précédente.

  1. Ouvrez le fichier exporté. Par exemple, RULES_YAML_FILE.

  2. Ajoutez le champ rules, comme illustré dans l'exemple suivant.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
      

  3. Ajoutez les champs de configuration supplémentaires tels que action, direction et priority. Voici un exemple de fichier YAML de base.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 1
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -::/0
            layer4Configs:
            -ipProtocol: all
          priority: 2147483644
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -::/0
          priority: 2147483645
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -198.51.100.0/24
            layer4Configs:
            -ipProtocol: all
          priority: 2147483646
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 2147483647
          ruleTupleCount: 2
      

Importer des règles de stratégie de pare-feu

Importez les règles dans votre stratégie de pare-feu après avoir modifié le fichier avec les mises à jour par lot requises. L'importation du fichier modifié remplace les règles de stratégie de pare-feu existantes par les règles fournies.

Importer des règles de stratégie de pare-feu hiérarchiques

Importez des règles de pare-feu dans la stratégie de pare-feu hiérarchique.

gcloud

Pour importer des règles dans la stratégie de pare-feu hiérarchique, utilisez la commande gcloud compute firewall-policies import-rules:

gcloud compute firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --organization=ORGANIZATION

Remplacez les éléments suivants :

  • FIREWALL_POLICY: nom court ou ID de la stratégie de pare-feu hiérarchique à mettre à jour
  • RULES_YAML_FILE_PATH: chemin d'accès au fichier YAML à partir duquel importer les règles
  • ORGANIZATION: organisation dans laquelle la stratégie de pare-feu de l'organisation doit être mise à jour. Doit être défini si FIREWALL_POLICY est un nom court.

API

Pour importer les règles de stratégie de pare-feu, utilisez la méthode firewallPolicies.patch de l'API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Remplacez les éléments suivants :

Importer une stratégie de pare-feu réseau

Importez le fichier YAML des règles de pare-feu modifiées dans la stratégie de pare-feu réseau.

gcloud

Pour importer des règles dans la stratégie de pare-feu réseau, exécutez la commande gcloud compute network-firewall-policies import-rules:

gcloud compute network-firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --global | --region=REGION

Remplacez les éléments suivants :

  • FIREWALL_POLICY: nom de la stratégie de pare-feu réseau à mettre à jour
  • RULES_YAML_FILE_PATH: chemin d'accès choisi pour importer les règles
  • REGION: spécifiez --global s'il s'agit d'une règle globale ou REGION s'il s'agit d'une règle régionale.

API

Pour importer les règles de stratégie de pare-feu réseau modifiées, utilisez la méthode networkFirewallPolicies.patch dans l'API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Remplacez les éléments suivants :

  • PROJECT: ID du projet des règles de stratégie de pare-feu réseau
  • FIREWALL_POLICY_NAME: nom de la stratégie de pare-feu réseau que vous souhaitez exporter

Pour importer les règles de stratégie de pare-feu réseau régionales modifiées, utilisez la méthode regionNetworkFirewallPolicies.patch dans l'API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME
   

Remplacez les éléments suivants :

  • PROJECT: ID du projet des règles de stratégie de pare-feu de réseau régional
  • REGION: région des règles de stratégie de pare-feu
  • FIREWALL_POLICY_NAME: nom de la stratégie de pare-feu que vous souhaitez exporter

    Cette requête renvoie une définition de ressource de stratégie de pare-feu réseau.

Étape suivante