Cette page explique comment associer des tags Resource Manager aux règles du proxy Web sécurisé. Les tags Resource Manager sont des libellés que vous pouvez associer à différentes ressources Google Cloud , telles que vos instances de machines virtuelles (VM). Vous pouvez utiliser des tags pour appliquer des contrôles d'accès conditionnel à l'ensemble de votre réseau avec les libellés organisationnels existants.
Ces balises vous permettent d'effectuer les actions suivantes :
Segmenter les charges de travail : vous pouvez identifier de manière unique différents environnements tels que
productionoudevelopment, et différents types de services tels quefrontendoudatabase.Centralisez le contrôle des accès : vous pouvez baser vos stratégies de proxy Web sécurisé sur ces tags. Par exemple, vous pouvez créer une règle qui stipule que seul le trafic provenant de ressources associées au tag
tag segment=productionpeut accéder à un ensemble spécifique d'URL.
Cette page vous explique comment :
- Créer une instance Secure Web Proxy avec une règle vide
- Créer et associer un tag Resource Manager à une instance de VM
- Créer une règle de proxy Web sécurisé
- Tester la connectivité de l'ensemble de votre configuration Secure Web Proxy
Avant de commencer
Configurez les étapes de configuration initiale.
Demandez à un administrateur de l'organisation de vous attribuer le rôle nécessaire pour créer et modifier des tags.
Vérifiez que la version 406.0.0 (ou ultérieure) de la Google Cloud CLI est installée :
gcloud version | head -n1Si vous avez installé une version antérieure de la gcloud CLI, mettez-la à jour :
gcloud components update --version=406.0.0
Créer une instance Secure Web Proxy avec une règle vide
Pour créer une instance de proxy Web sécurisé, vous devez d'abord créer une stratégie de sécurité vide, puis créer un proxy Web qui utilise cette stratégie.
Créer une règle de sécurité vide
Console
Dans la console Google Cloud , accédez à la page Règles SWP.
Cliquez sur Créer une règle.
Dans le champ Nom, saisissez un nom pour la stratégie (par exemple,
myswppolicy).Dans le champ Description, saisissez une description de la règle, par exemple
My new swp policy.Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer le règlement, par exemple
us-central1.Cliquez sur Créer.
Cloud Shell
Utilisez l'éditeur de texte de votre choix pour créer un fichier
policy.yaml.Ajoutez ce qui suit au fichier
policy.yamlque vous avez créé :name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONRemplacez les éléments suivants :
PROJECT_NAME: nom de votre projetREGION: région dans laquelle votre stratégie est créée, par exempleus-central1POLICY_NAME: nom de votre règlePOLICY_DESCRIPTION: description de votre règle
Importez la stratégie de sécurité à l'aide de la commande
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Créer un proxy Web
Console
Dans la console Google Cloud , accédez à la page Proxys Web.
Cliquez sur Créer un proxy Web sécurisé.
Dans le champ Nom, saisissez un nom pour le proxy Web, tel que
myswp.Dans le champ Description, saisissez une description du proxy Web, par exemple
My new swp.Pour Mode de routage, sélectionnez l'option Explicite.
Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer le proxy Web, par exemple
us-central1.Pour Réseau, sélectionnez le réseau sur lequel vous souhaitez créer le proxy Web.
Pour Sous-réseau, sélectionnez le sous-réseau VPC que vous avez créé précédemment dans les étapes de configuration initiale.
Facultatif : Dans le champ Adresse IP du proxy Web, saisissez l'adresse IP du proxy Web sécurisé.
Vous pouvez saisir une adresse IP de la plage d'adresses IP du proxy Web sécurisé qui se trouve dans le sous-réseau que vous avez créé à l'étape précédente. Si vous ne saisissez pas l'adresse IP, votre instance Secure Web Proxy choisit automatiquement une adresse IP dans le sous-réseau sélectionné.
Pour Certificat, sélectionnez le certificat que vous souhaitez utiliser pour créer le proxy Web.
Pour Règle, sélectionnez la règle que vous avez créée pour associer le proxy Web.
Cliquez sur Créer.
Cloud Shell
Utilisez l'éditeur de texte de votre choix pour créer un fichier
gateway.yaml.Ajoutez ce qui suit au fichier
gateway.yaml.name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeRemplacez les éléments suivants :
GATEWAY_NAME: nom de cette instance Secure Web ProxyGATEWAY_PORT_NUMBERS: liste des numéros de port pour cette passerelle, par exemple[80,443].CERTIFICATE_URLS: liste des URL des certificats SSLSUBNETWORK: sous-réseau VPC que vous avez créé précédemment dans le cadre des étapes de configuration initiale.GATEWAY_IP_ADDRESS: liste facultative d'adresses IP pour vos instances Secure Web Proxy dans les sous-réseaux de proxy que vous avez créés précédemment dans les étapes de configuration initialeSi vous choisissez de ne pas lister les adresses IP, omettez le champ pour laisser le proxy Web choisir une adresse IP pour vous.
Créez l'instance Secure Web Proxy à l'aide de la commande
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Tester la connectivité
Pour tester la connectivité, utilisez la commande curl à partir de n'importe quelle instance de machine virtuelle (VM) de votre réseau de cloud privé virtuel (VPC) :
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Si tout fonctionne correctement, votre instance de proxy Web sécurisé renvoie un code d'état 403 Forbidden. Cette erreur confirme les points suivants :
L'instance de proxy Web sécurisé a été déployée et reçoit activement du trafic.
La stratégie de proxy Web sécurisé applique correctement la posture de sécurité par défaut qui consiste à refuser tout le trafic jusqu'à ce que vous définissiez des règles
allowspécifiques dans les sections suivantes.
Créer et associer des tags Resource Manager
Créer des clés et des valeurs de tags sécurisés
Exemple : Pour créer un tag pour les environnements restreints, procédez comme suit :
Créez la clé de tag (
access-level) à l'aide de la commandegcloud resource-manager tags keys createen définissant l'objectif surGCE_FIREWALL.Récupérez l'ID de la clé de tag à partir du résultat de la commande de création ou à l'aide de la commande
gcloud resource-manager tags keys list. Vous en aurez besoin pour associer les valeurs de tag à cette clé de tag spécifique.Créez la valeur du tag (
restricted) à l'aide de la commandegcloud resource-manager tags values create, en spécifiant l'ID de la clé du tag comme parent.
# Create the tag key # The output provides a unique ID, such as "tagKeys/1234567890" gcloud resource-manager tags keys create "access-level" \ --parent="organizations/1234567890" \ --purpose="GCE_FIREWALL" \ --purpose-values="execution_env=ANS" # Create the tag value and connect it to the key # The "--parent" flag identifies to which key this value belongs gcloud resource-manager tags values create "restricted" \ --parent="tagKeys/1234567890"Associer des tags à des instances de VM
L'association de ces tags permet d'associer le trafic sortant de vos instances de VM à une identité de tag spécifique, ce qui permet au proxy de reconnaître la charge de travail et d'appliquer vos règles de sécurité.
Exemple : Supposons que vous disposiez d'une instance de VM nommée
internal-tool. Vous pouvez associer la valeur du tagrestrictedàinternal-toolà l'aide de la commandegcloud resource-manager tags bindings create. Cette attribution de tag permet à votre proxy d'identifier le trafic provenant de l'instance de VMinternal-tool.# Attach the "restricted" tag to a specific VM instance gcloud resource-manager tags bindings create \ --parent="//[compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/internal-tool](https://compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/internal-tool)" \ --tag-value="tagValues/987654321"
Créer une règle Secure Web Proxy
Console
Dans la console Google Cloud , accédez à la page Règles SWP.
Cliquez sur le nom de votre règle, par exemple
myswppolicy.Cliquez sur Ajouter une règle.
Pour chaque règle, procédez comme suit :
Dans Priorité, saisissez l'ordre d'évaluation numérique de la règle. Les règles sont évaluées de la priorité la plus élevée à la plus faible, où
0correspond à la priorité la plus élevée.Dans le champ Nom, saisissez un nom pour la règle.
Dans le champ Description, saisissez une description de la règle.
Pour Action, sélectionnez l'une des options suivantes :
- Autoriser : pour autoriser les demandes de connexion correspondant à la règle.
- Refuser : pour refuser les demandes de connexion correspondant à la règle.
Pour le champ État, sélectionnez l'une des options suivantes pour l'application des règles :
- Activé : pour appliquer la règle à votre instance Secure Web Proxy.
- Désactivé : pour ne pas appliquer la règle à votre instance Secure Web Proxy.
Dans la section Correspondance de session, spécifiez l'ID unique de la balise que vous avez créée dans la section précédente. Exemple :
sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"Pour en savoir plus sur la syntaxe de
SessionMatcher, consultez la documentation de référence sur le langage de correspondance CEL.Dans la section Correspondance de l'application, spécifiez les critères de correspondance de la requête.
Cliquez sur Ajouter une règle.
Cloud Shell
Utilisez l'éditeur de texte de votre choix pour créer le fichier
rule.yaml.Pour autoriser l'accès à une URL à partir de la balise requise, ajoutez ce qui suit au fichier
rule.yaml:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOWRemplacez les éléments suivants :
RULE_NAME: nom de cette règleRULE_DESCRIPTION: description de la règleRULE_PRIORITY: priorité de cette règle. Plus le nombre est faible, plus la priorité est élevée.CEL_EXPRESSION: expression CEL (Common Expression Language). Pour en savoir plus, consultez la documentation de référence sur le langage de correspondance CEL.
Par exemple, pour autoriser l'accès à
example.comà partir de la balise requise, ajoutez la lignesessionMatchersuivante au fichier YAML :sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"Remplacez
TAG_VALUEpar le tag que vous souhaitez autoriser. Assurez-vous que le tag respecte le format d'identifiant numérique de ressource, par exempletagValues/567890123456.Importez les règles que vous avez créées à l'aide de la commande
gcloud network-security gateway-security-policies rules import:gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Tester la configuration des règles
Vous pouvez tester à nouveau la connectivité pour vérifier que votre règle de proxy Web sécurisé, qui repose sur les tags Resource Manager pour l'identité, fonctionne comme prévu.
Pour tester la connectivité, utilisez la commande curl à partir de n'importe quelle VM associée au tag TAG_VALUE approprié.
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Remplacez IPv4_ADDRESS par l'adresse IPv4 de votre instance Secure Web Proxy.
Si tout fonctionne correctement, vous recevez un code d'état 200 OK ou 403 Forbidden. Ces réponses confirment les principaux résultats suivants :
Succès basé sur les tags : un code d'état
200 OKvalide que le trafic provenant d'une VM à laquelle le tag Resource Manager approprié est associé correspond à la règle de stratégie et est autorisé à passer par le proxy. Cette correspondance validée permet d'établir une connexion.Refus basé sur les tags : un code d'état
403 Forbiddenpermet de vérifier que l'accès au trafic provenant d'une VM sans le tag spécifié ou avec un tag incorrect est correctement refusé par la règle. Cette application prouve que votre segmentation et votre application basées sur des tags fonctionnent comme prévu.