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
|
networksecurity.addressGroups.* |
Découvrir et afficher des groupes d'adresses | compute.networkUser |
networksecurity.addressGroups.list
|
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
Dans la console Google Cloud, accédez à la page Groupes d'adresses.
Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.
Cliquez sur Créer un groupe d'adresses.
Dans le champ Nom, saisissez un nom.
(Facultatif) Dans le champ Description, ajoutez une description.
Pour Champ d'application, sélectionnez Mondial.
Dans le champ Type, sélectionnez IPv4 ou IPv6.
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.
Dans le champ Capacité, saisissez la capacité du groupe d'adresses.
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
.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
Dans la console Google Cloud, accédez à la page Groupes d'adresses.
Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.
Pour modifier un groupe d'adresses, cliquez sur son nom.
Cliquez sur Modifier.
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.
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
Dans la console Google Cloud, accédez à la page Groupes d'adresses.
Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.
Pour modifier un groupe d'adresses, cliquez sur son nom.
Cliquez sur Modifier.
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.
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
Dans la console Google Cloud, accédez à la page Groupes d'adresses.
Dans le menu de sélection du projet, sélectionnez votre projet, le cas échéant.
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é.
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 :
- Créez une stratégie de sécurité du backend appelée POLICY_1, puis associez-la. à BACKEND_SERVICE_1.
Dans POLICY_1, créez une règle
deny
avec la condition de correspondance suivante :evaluateAddressGroup('BAD_IPS', origin.ip)
Créez une deuxième stratégie de sécurité de backend appelée POLICY_2 et associez-la à BACKEND_SERVICE_2.
Dans POLICY_2, créez une règle
deny
avec la correspondance suivante : , qui exclut66.249.77.32/27
et66.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.