Configurer des groupes d'adresses

Les groupes d'adresses vous permettent de combiner plusieurs adresses IP et plages d'adresses IP en une seule unité logique nommée, que vous pouvez utiliser dans plusieurs produits. Ce document explique comment utiliser des groupes d'adresses avec les stratégies de sécurité Google Cloud Armor. Vous devez disposer d'un abonnement Google Cloud Armor Enterprise actif pour utiliser les groupes d'adresses.

Rôles IAM

Pour créer et gérer un groupe d'adresses, vous devez disposer du rôle Administrateur réseau (compute.networkAdmin) ou du rôle Administrateur de sécurité (compute.securityAdmin). Vous pouvez également définir un rôle personnalisé avec un ensemble d'autorisations équivalent.

Le tableau suivant fournit la liste des autorisations IAM (Identity and Access Management) requises pour effectuer un ensemble de tâches sur des groupes d'adresses.

Tâche Nom de rôle IAM Autorisations IAM
Créer et gérer des groupes d'adresses compute.networkAdmin

compute.securityAdmin

networksecurity.addressGroups.*
Découvrir et afficher des groupes d'adresses compute.networkUser networksecurity.addressGroups.list

networksecurity.addressGroups.get

networksecurity.addressGroups.use

Pour en savoir plus sur les rôles incluant des autorisations IAM spécifiques, consultez la documentation de référence sur les autorisations IAM.

Créer ou modifier des groupes d'adresses

Les sections suivantes expliquent comment créer des groupes d'adresses, ajouter et supprimer des adresses de groupes d'adresses, et supprimer des groupes d'adresses.

Créer un groupe d'adresses

Lorsque vous créez un groupe d'adresses, vous devez spécifier sa capacité et la version de son adresse IP à l'aide des options --capacity et --type, respectivement. Vous ne pouvez pas modifier ces valeurs après avoir créé le groupe d'adresses.

En outre, la capacité maximale de Google Cloud Armor peut être supérieure à la capacité maximale d'autres produits, comme Cloud Next Generation Firewall. Par conséquent, si vous souhaitez utiliser le même groupe d'adresses pour plusieurs produits, vous devez définir la capacité de sorte qu'elle soit inférieure ou égale à la capacité maximale la plus basse parmi ces produits.

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'adresses.

    Accéder à "Groupes d'adresses"

  2. Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.

  3. Cliquez sur Créer un groupe d'adresses.

  4. Dans le champ Nom, saisissez un nom.

  5. (Facultatif) Dans le champ Description, ajoutez une description.

  6. Pour Champ d'application, sélectionnez Mondial.

  7. Dans le champ Type, sélectionnez IPv4 ou IPv6.

  8. Dans Usage, sélectionnez Cloud Armor. Vous pouvez également choisir Pare-feu et Cloud Armor si vous prévoyez également d'utiliser le groupe d'adresses avec les stratégies de pare-feu Cloud Next Generation.

    Pour en savoir plus sur le choix d'un objectif, consultez la section Spécifications des groupes d'adresses.

  9. Dans le champ Capacité, saisissez la capacité du groupe d'adresses.

  10. Dans le champ Adresses IP, listez les adresses IP ou plages d'adresses IP que vous souhaitez inclure dans le groupe d'adresses, en les séparant par des virgules. Exemple : 1.1.1.0/24,1.2.0.0.

  11. Cliquez sur Créer.

gcloud

Utilisez l'exemple de commande gcloud network-security address-groups create suivant pour créer un groupe d'adresses appelé GROUP_NAME avec une capacité de 1 000 adresses IPv4, qui peut être utilisé avec Google Cloud Armor ou Cloud NGFW :

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 1000 \
  --type IPv4 \
  --purpose DEFAULT,CLOUD_ARMOR

Vous pouvez également créer un groupe d'adresses de plus grande capacité en définissant l'objectif sur CLOUD_ARMOR uniquement. Dans l'exemple suivant, vous créez Un groupe d'adresses d'une capacité de 10 000 plages d'adresses IP IPv6:

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 10000 \
  --type IPv6 \
  --purpose CLOUD_ARMOR

Ajouter des éléments à un groupe d'adresses

Après avoir créé un groupe d'adresses, vous pouvez ajouter des éléments à l'aide de la console Google Cloud ou Commande gcloud network-security address-groups add-items

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'adresses.

    Accéder à "Groupes d'adresses"

  2. Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.

  3. Pour modifier un groupe d'adresses, cliquez sur son nom.

  4. Cliquez sur Modifier.

  5. Dans le champ Adresses IP, ajoutez les nouveaux éléments au fichier liste d'adresses IP. Vous pouvez également cliquer sur Importer des adresses pour importez un fichier CSV contenant une liste d'adresses IP.

  6. Cliquez sur Enregistrer.

gcloud

Dans l'exemple suivant, vous ajoutez les adresses IP 192.168.1.2, 192.168.1.8 et 192.168.1.9 au groupe d'adresses GROUP_NAME. Vous fournissez une liste d'éléments séparés par une virgule avec l'option --item:

gcloud network-security address-groups add-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Supprimer des éléments d'un groupe d'adresses

Vous pouvez supprimer des éléments d'un groupe d'adresses à l'aide de la console Google Cloud ou de la commande gcloud network-security address-groups remove-items.

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'adresses.

    Accéder à "Groupes d'adresses"

  2. Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.

  3. Pour modifier un groupe d'adresses, cliquez sur son nom.

  4. Cliquez sur Modifier.

  5. Dans le champ Adresses IP, supprimez les éléments que vous souhaitez supprimer de la liste d'adresses IP séparées par une virgule.

  6. Cliquez sur Enregistrer.

gcloud

La commande suivante supprime les adresses IP 192.168.1.2, 192.168.1.8, et 192.168.1.9 que vous avez ajoutés dans la commande précédente:

gcloud network-security address-groups remove-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Supprimer un groupe d'adresses

Vous ne pouvez pas supprimer un groupe d'adresses s'il est référencé par une ressource, y compris une règle de pare-feu ou une stratégie de sécurité. Pour supprimer une adresse, procédez comme suit : groupe:

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'adresses.

    Accéder à "Groupes d'adresses"

  2. Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.

  3. Cochez la case située à côté du groupe d'adresses que vous souhaitez supprimer. Assurez-vous que le groupe d'adresses sélectionné n'est référencé par aucune règle de pare-feu ou de sécurité.

  4. Cliquez sur Supprimer, puis à nouveau sur Supprimer pour confirmer l'opération.

gcloud

L'exemple suivant utilise la classe Commande gcloud network-security address-groups delete pour supprimer un groupe d'adresses appelé GROUP_NAME.

gcloud network-security address-groups delete GROUP_NAME \
  --location global

Utiliser des groupes d'adresses avec des règles de sécurité

Après avoir créé un groupe d'adresses et y avoir ajouté des adresses IP, vous pouvez : utilisez-le avec n'importe quelle stratégie de sécurité de backend Google Cloud Armor existante. La Les exemples suivants illustrent deux façons différentes d'utiliser les groupes d'adresses.

Refuser un groupe d'adresses IP

Pour cet exemple, imaginons que vous disposiez d'un groupe d'adresses IP appelé BAD_IPS contenant 10 000 adresses IP que vous savez être malveillantes. Toi peuvent refuser toutes ces adresses IP en utilisant une seule stratégie de sécurité deny avec la condition de correspondance suivante:

evaluateAddressGroup('BAD_IPS', origin.ip)

Réutiliser un groupe de plages d'adresses IP dans plusieurs règles de sécurité

Pour cet exemple, imaginez que vous avez la même liste de 10 000 adresses IP que dans l'exemple précédent, mais que certaines des adresses IP les robots d'exploration. Vous voulez bloquer toutes ces adresses IP tout en permettant aux robots d'exploration d'accéder à d'autres services de backend l'optimisation du référencement (SEO). Suivez les étapes ci-dessous pour refuser l'accès de toutes les adresses à BACKEND_SERVICE_1, tout en autorisant les plages d'adresses IP 66.249.77.32/27 et 66.249.77.64/27 à accéder à BACKEND_SERVICE_2 :

  1. Créez une stratégie de sécurité du backend appelée POLICY_1, puis associez-la. à BACKEND_SERVICE_1.
  2. Dans POLICY_1, créez une règle deny avec la condition de correspondance suivante :

    evaluateAddressGroup('BAD_IPS', origin.ip)
    
  3. Créez une deuxième stratégie de sécurité de backend appelée POLICY_2 et associez-la à BACKEND_SERVICE_2.

  4. Dans POLICY_2, créez une règle deny avec la correspondance suivante : , qui exclut 66.249.77.32/27 et 66.249.77.64/27:

    evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
    

Utiliser un groupe d'adresses à mettre en correspondance avec les adresses IP des utilisateurs

Pour cet exemple, imaginons que vous disposiez d'un groupe d'adresses IP appelé BAD_IPS contenant 10 000 adresses IP que vous savez être malveillantes. De plus, vous utilisez un proxy en amont, qui inclut des informations sur les clients d'origine dans l'en-tête. Vous pouvez refuser toutes ces adresses IP à l'aide d'une seule règle deny de stratégie de sécurité avec la condition de correspondance suivante :

evaluateAddressGroup('BAD_IPS', origin.user_ip)

Pour en savoir plus sur les adresses IP des utilisateurs, consultez attributs de langue des règles.

Étape suivante