Cette page explique comment utiliser des listes d'URL pour créer et gérer des règles précises de contrôle des accès pour votre trafic Web sortant dans votre instance Secure Web Proxy. Au lieu de créer des règles individuelles pour chaque site Web, les listes d'URL vous permettent de définir une collection réutilisable et centralisée de domaines, de noms d'hôte et de modèles d'URL spécifiques.
Voici quelques-uns des principaux avantages de l'utilisation de listes d'URL :
Simplifier la gestion des règles : vous pouvez appliquer un grand ensemble de
allowoudenyrègles avec une seule référence dans votre règle de sécurité.Appliquer un contrôle précis : vous pouvez utiliser une syntaxe spécifique pour faire correspondre des domaines entiers, des sous-domaines ou des chemins d'URL exacts. Cela permet de s'assurer que vos charges de travail ne peuvent accéder qu'aux destinations autorisées.
Sécuriser l'accès au Web : vous pouvez sécuriser et auditer efficacement l'accès au Web dans votre Google Cloud environnement.
Avant de commencer
Suivez la procédure de configuration initiale.
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 Secure Web Proxy, vous devez d'abord créer une règle de sécurité vide, puis créer un proxy Web qui utilise cette règle.
Créer une règle de sécurité vide
Console
Dans la Google Cloud console, accédez à la page Règles SWP.
Cliquez sur Créer une règle.
Dans le champ Nom, saisissez un nom pour la règle, par exemple
myswppolicy.Dans le champ Description, saisissez une description pour la règle, par exemple
My new swp policy.Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer la règle, par exemple
us-central1.Cliquez sur Créer.
Cloud Shell
Utilisez un éditeur de texte pour créer un fichier
policy.yaml.Ajoutez le code suivant au fichier
policy.yaml: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 règle est créée, par exempleus-central1POLICY_NAME: nom de votre règlePOLICY_DESCRIPTION: description de votre règle
Importez la règle de sécurité à l'aide de la
gcloud network-security gateway-security-policies importcommande :gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Créer un proxy Web
Console
Dans la Google Cloud console, 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, par exemple
myswp.Dans le champ Description, saisissez une description pour le proxy Web, par exemple
My new swp.Pour Mode de routage, sélectionnez l'une des options suivantes :
- Explicite : déploie votre instance Secure Web Proxy en mode proxy explicite.
- Prochain saut : déploie votre instance Secure Web Proxy en mode prochain saut.
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 dans lequel vous souhaitez créer le proxy Web.
Pour Sous-réseau, sélectionnez le sous-réseau VPC que vous avez créé lors de la 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 Secure Web Proxy 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 en choisit automatiquement une 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 un éditeur de texte pour créer un fichier
gateway.yaml.Ajoutez le code suivant 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 routingMode: ROUTING_MODE addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeFacultatif : Pour autoriser les applications clientes d'autres Google Cloud régions à se connecter à votre proxy, activez l'accès mondial lorsque vous créez votre instance Secure Web Proxy.
Dans le fichier
gateway.yaml, ajoutez le champallow_global_accesset définissez-le surtrue.Important : Vous ne pouvez activer
allow_global_accessque lorsque vous créez une instance Secure Web Proxy. Vous ne pourrez pas configurer ce paramètre ultérieurement.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: samplescope allow_global_access: trueRemplacez les éléments suivants :
GATEWAY_NAME: nom de cette instance Secure Web ProxyGATEWAY_PORT_NUMBERS: liste des numéros de port de cette passerelle, par exemple[80,443]CERTIFICATE_URLS: liste des URL de certificat SSLSUBNETWORK: Sous-réseau VPC que vous avez créé lors de la configuration initialeROUTING_MODE: spécifiez le mode de routage du proxy Web requis :EXPLICIT_ROUTING_MODE: déploie votre instance Secure Web Proxy en mode proxy expliciteNEXT_HOP_ROUTING_MODE: déploie votre instance Secure Web Proxy en mode prochain saut
GATEWAY_IP_ADDRESS: liste facultative des adresses IP de vos instances Secure Web Proxy dans les sous-réseaux de proxy que vous avez créés précédemment lors des étapes de configuration initialeSi vous choisissez de ne pas répertorier d'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
gcloud network-services gateways importcommande :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 cloud privé virtuel (VPC) :
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Si tout fonctionne correctement, votre instance Secure Web Proxy renvoie un code d'état 403 Forbidden. Cette erreur confirme les points suivants :
L'instance Secure Web Proxy a été déployée et reçoit activement du trafic.
La règle Secure Web Proxy 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 configurer une liste d'URL
Console
Dans la Google Cloud console, accédez à la page Listes d'URL.
Cliquez sur Créer une liste d'URL. La page Créer une liste d'URL s'ouvre.
Dans le champ Nom, saisissez un nom pour la liste d'URL, par exemple
example-org-allowed-list.Dans le champ Description, saisissez une description pour la liste d'URL, par exemple
My new URL list.Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer la liste d'URL, par exemple
us-central1.Pour ajouter la liste des hôtes, des URL ou des modèles à faire correspondre, dans le champ Liste d'URL, saisissez les informations ou cliquez sur Importer une liste pour importer une liste personnalisée d'URL. Pour en savoir plus, consultez la documentation de référence sur la syntaxe UrlList.
Cliquez sur Créer.
Cloud Shell
Utilisez un éditeur de texte pour créer le fichier
url_list.yaml.Ajoutez le code suivant au fichier
url_list.yaml:name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTRemplacez les éléments suivants :
PROJECT_ID: ID unique de votre Google Cloud projetREGION: région dans laquelle votre liste d'URL est créée, par exempleus-central1URL_LIST_NAME: nom de la liste d'URLURL_LIST: liste des hôtes, des URL ou des modèles à faire correspondre
Pour en savoir plus, consultez la documentation de référence sur la syntaxe UrlList.
Voici un exemple de fichier de règles de liste d'URL :
name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list values: - www.example.com - about.example.com - "*.google.com" - "github.com/example-org/*"L'astérisque (
*) a une signification particulière en YAML. Vous devez ajouter des guillemets autour des URL qui incluent un caractère*.Importez la liste d'URL que vous avez créée à l'aide de la
gcloud network-security url-lists importcommande afin que votre règle Secure Web Proxy puisse y faire référence.gcloud network-security url-lists import URL_LIST_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=url_list.yaml
Ajouter une règle Secure Web Proxy
Console
Dans la Google Cloud console, 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 :
Pour Priorité, saisissez un ordre d'évaluation numérique pour 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, par exemple
allow-org-url-list.Dans le champ Description, saisissez une description pour la règle.
Pour Action, sélectionnez l'une des options suivantes :
- Autoriser : pour autoriser les requêtes de connexion correspondant à la règle.
- Refuser : pour refuser les requêtes de connexion correspondant à la règle.
Dans le champ État, sélectionnez l'une des options suivantes pour l'application de la règle :
- 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 le nom unique de la liste d'URL que vous avez créée dans la section précédente. Exemple :
sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"
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 d'application, spécifiez les critères de correspondance de la requête.
Cliquez sur Ajouter une règle.
Cloud Shell
Utilisez un éditeur de texte pour créer un fichier
rule.yaml.Ajoutez le code suivant au fichier
rule.yaml:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME basicProfile: ALLOW enabled: true priority: RULE_PRIORITY description: RULE_DESCRIPTION sessionMatcher: SESSION_CEL_EXPRESSION applicationMatcher: APPLICATION_CEL_EXPRESSIONRemplacez les éléments suivants :
PROJECT_ID: ID unique de votre Google Cloud projetREGION: région à laquelle cette règle s'appliquePOLICY_NAME: nom d'une règle de sécurité existante utilisée par votre instance Secure Web ProxyRULE_NAME: nom de la règlePRIORITY_VALUE: priorité de la règle ; un nombre plus petit correspond à une priorité plus élevéeRULE_DESCRIPTION: description de la règleSESSION_CEL_EXPRESSION: expression CEL (Common Expression Language) Pour en savoir plus, consultez la documentation de référence sur le langage de correspondance CEL .APPLICATION_CEL_EXPRESSION: expression CEL pour votre application
Voici un exemple de fichier de règles :
name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos basicProfile: ALLOW enabled: true priority: 100 description: Allow access to our list of known code repos. sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"Importez la règle que vous avez créée à l'aide de la
gcloud network-security gateway-security-policies rules importcommande.gcloud network-security gateway-security-policies rules import RULE_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=rule.yaml \ --gateway-security-policy=POLICY_NAME
Tester la configuration des règles
Vous pouvez tester à nouveau la connectivité pour vérifier que les règles d'accès basées sur la liste d'URL sont correctement configurées et appliquées activement par votre instance Secure Web Proxy.
Pour tester la connectivité, utilisez la commande curl suivante :
curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS --proxy-insecure
Remplacez les éléments suivants :
SWP_IP_ADDRESS: adresse IP de votre instance Secure Web ProxySWP_PORT_NUMBER: numéro de port de votre proxy Web, par exemple443HTTP_TEST_ADDRESS: adresse à tester, par exemplehttps://www.example.com. Elle correspond à une entrée d'hôte ou d'URL dans votreurl_list.
Si tout fonctionne correctement, vous recevez une réponse 200 OK. Cette réponse confirme que le trafic sortant vers une URL listée dans votre liste d'URL et référencée par la règle de sécurité est autorisé à transiter par votre instance Secure Web Proxy.