Créez des tags avant d'essayer de les lier à des ressources ou de les utiliser dans des stratégies de pare-feu réseau. Pour contrôler l'accès au réseau, les tags ne sont efficaces que lorsqu'ils sont liés à des instances de VM.
Pour obtenir une présentation, consultez la page Tags pour les pare-feu.
Accorder des autorisations aux tags
Le rôle tagAdmin
vous permet de créer, de mettre à jour et de supprimer des tags existants. Un administrateur de l'organisation peut attribuer ce rôle au niveau de l'organisation, et un propriétaire de projet peut l'accorder au niveau du projet.
gcloud
Accordez le rôle
tagAdmin
à l'utilisateur.gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagAdmin
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID de votre organisation.EMAIL_ADDRESS
: adresse e-mail de l'utilisateur
Accordez le rôle
tagUser
à l'utilisateur.gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.EMAIL_ADDRESS
: adresse e-mail de l'utilisateur
Rôles personnalisés pour gérer les tags
Le rôle tagAdmin
vous permet d'effectuer les actions suivantes : créer des tags, mettre à jour et supprimer des tags existants. Si vous avez besoin de certaines de ces fonctionnalités, vous pouvez créer un rôle IAM personnalisé avec les autorisations appropriées, puis attribuer le nouveau rôle à l'utilisateur cible. Pour obtenir la liste des autorisations pertinentes, consultez la page Autorisations IAM.
Les tags utilisés dans les stratégies de pare-feu doivent être désignés par un objectif GCE_FIREWALL. Bien que l'objectif GCE_FIREWALL soit obligatoire pour que le tag soit utilisé dans les fonctionnalités de mise en réseau, vous pouvez l'utiliser pour d'autres actions.
Les tags utilisés dans les stratégies de pare-feu réseau doivent avoir un champ d'application limité à un seul VPC.
Créer les clés et les valeurs de tag
Avant d'associer des tags à des stratégies de pare-feu réseau, vous devez créer les clés et les valeurs des tags.
gcloud
Après avoir obtenu les autorisations requises, créez la clé de tag.
gcloud resource-manager tags keys create TAG_KEY \ --parent organizations/ORGANIZATION_ID \ --purpose GCE_FIREWALL \ --purpose-data network=PROJECT_ID/NETWORK
Remplacez les éléments suivants :
TAG_KEY
: clé du tag.ORGANIZATION_ID
: ID de votre organisation.PROJECT_ID
: ID de votre projetNETWORK
: nom de votre réseau.
Ajoutez les valeurs de tag pertinentes aux clés de tag. Exécutez la commande plusieurs fois pour ajouter plusieurs valeurs. Assurez-vous que chaque valeur de tag ajoutée à la clé de tag est unique.
gcloud resource-manager tags values create TAG_VALUE \ --parent ORGANIZATION_ID/TAG_KEY
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.TAG_VALUE
: valeur à attribuer à la clé de tag
Créer une règle de pare-feu réseau
Après avoir créé un tag, vous pouvez l'utiliser dans les stratégies de pare-feu réseau. Si vous n'avez pas de règle de pare-feu réseau, créez-en une.
gcloud
Créez une règle de pare-feu réseau.
gcloud compute network-firewall-policies create \ FIREWALL_POLICY_NAME \ --global
Remplacez les éléments suivants :
FIREWALL_POLICY_NAME
: nom de la stratégie de pare-feu de réseau mondial du nouveau réseau
Créer une règle de stratégie de pare-feu avec des tags
Après avoir créé un tag et une stratégie de pare-feu réseau, vous pouvez créer une règle de stratégie de pare-feu réseau avec les valeurs de tags sources et de tags cibles spécifiques pour autoriser le trafic souhaité entre les VM avec les tags sources et les tags de destination.
gcloud
Créez une règle de stratégie de pare-feu réseau avec les clés et valeurs sources et cibles spécifiques.
gcloud compute network-firewall-policies rules create 1 \ --firewall-policy FIREWALL_POLICY_NAME \ --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --direction DIRECTION \ --action ACTION \ --layer4-configs tcp:PORT \ --global-firewall-policy
Remplacez les éléments suivants :
FIREWALL_POLICY_NAME
: nom de la stratégie de pare-feu de réseau mondial du nouveau réseauORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.TAG_VALUE
: valeur à attribuer à la clé de tagDIRECTION
: indique si la règle est une règleingress
ouegress
.ACTION
: l'une des actions suivantes :allow
: autorise les connexions correspondant à la règle.deny
: refuse les connexions correspondant à la règle.goto_next
: transmet l'évaluation de la connexion au niveau supérieur de la hiérarchie, soit un dossier, soit le réseau.
PORT
: numéro du port pour accéder à la ressource.
Lier des tags à des instances de VM
Les administrateurs de tags peuvent lier les tags à des instances de VM individuelles.
En associant un tag à une ressource, vous associez une valeur de tag à une ressource. Bien qu'un tag puisse avoir plusieurs valeurs pour une clé donnée, vous ne pouvez lier qu'une seule valeur par clé de tag à une ressource. Par exemple, vous ne pouvez pas lier les valeurs de tags web-backend et mysql à la même instance de VM, car elles appartiennent à la même valeur vm-function de la clé de tag.
Par exemple, Sasha, développeur, souhaite configurer une application composée d'un backend d'API et d'un magasin de bases de données de sauvegarde. Pour autoriser le trafic entre le backend et le serveur de base de données, Sasha doit lier les valeurs de tag web-backend et mysql à différentes VM.
gcloud
Attribuez le rôle
tagUser
.gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.EMAIL_ADDRESS
: adresse e-mail de l'utilisateur
Avec cette commande, l'utilisateur peut utiliser toutes les valeurs actuelles et futures de la clé. Vous pouvez également n'accorder l'accès qu'à certaines valeurs d'un tag, en procédant comme suit :
gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.TAG_VALUE
: valeur à attribuer à la clé de tagEMAIL_ADDRESS
: adresse e-mail de l'utilisateur
Attribuez le rôle
tagUser
aux ressources que vous souhaitez lier aux tags :gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:EMAIL_ADDRESS \ --role=roles/resourcemanager.tagUser
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projetEMAIL_ADDRESS
: adresse e-mail de l'utilisateur
Obtenez la valeur de
PARENT
pour la paire clé-valeur de tag :Définissez le préfixe du nom complet pour votre projet et votre zone :
FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
Obtenez l'ID de la VM :
VM_ID=$(gcloud compute instances describe VM_NAME --zone ZONE--format='value(id)')
Concaténez les valeurs de
FULL_NAME_PREFIX
et deVM_ID
:PARENT="$FULL_NAME_PREFIX$VM_ID" echo $PARENT
Remplacez les éléments suivants :
PROJECT_NUMBER
: numéro de votre projet.ZONE
: zone dans laquelle se trouve le disque.VM_NAME
: nom de la VM sur laquelle vous travaillez.
Répertoriez les liaisons.
gcloud resource-manager tags bindings list \ --location LOCATION_NAME \ --parent PARENT
Remplacez les éléments suivants :
LOCATION_NAME
: emplacement auquel appartient la balise (ici, la zone de l'instance de VM).PARENT
: nom complet de la ressource associée à la liaison, tel que dérivé dans la commande précédente.
Supprimez et créez les liaisons.
gcloud resource-manager tags bindings delete \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT gcloud resource-manager tags bindings create \ --location LOCATION_NAME \ --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \ --parent PARENT
Remplacez les éléments suivants :
LOCATION_NAME
: emplacement auquel le tag appartient.ORGANIZATION_ID
: ID de votre organisation.TAG_KEY
: clé du tag.TAG_VALUE
: valeur de la clé de tag.PARENT
: nom complet de la ressource à associer à la valeur du tag.
Utiliser des tags sur les réseaux appairés
Vous pouvez utiliser des tags dans l'appairage de réseaux. Pour utiliser des tags sur deux réseaux appairés, effectuez les tâches suivantes dans l'ordre spécifié.
- Attribuez le rôle
tagAdmin
à deux utilisateurs : un utilisateur dans chaque réseau appairé. Un administrateur d'organisation attribue les rôlestagAdmin
aux utilisateurs au niveau de l'organisation, et un propriétaire de projet peut les attribuer au niveau du projet. - Laissez le premier utilisateur réseau créer des clés et des valeurs de tags dans le premier réseau.
- Laissez le deuxième utilisateur réseau créer des clés et des valeurs de tags dans le deuxième réseau.
- Accordez les autorisations requises aux deux utilisateurs pour lier des tags dans les deux réseaux.
- Associez des tags aux utilisateurs et aux ressources du premier réseau.
- Associez des tags aux utilisateurs et aux ressources du deuxième réseau.
- Pour l'utilisateur du deuxième réseau, accordez des autorisations
tagUser
dans le premier réseau. - Pour l'utilisateur du premier réseau, accordez des autorisations
tagUser
dans le deuxième réseau. - Créez une règle de stratégie de pare-feu dans le premier réseau.
- Créez une règle de stratégie de pare-feu dans le deuxième réseau.
Étapes suivantes
- Pour en savoir plus sur la création de tags, consultez la page Créer et gérer des tags.