Cette page explique comment utiliser des listes d'URL pour créer et gérer des règles d'accès précises pour votre trafic Web sortant dans votre instance de proxy Web sécurisé. 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 des listes d'URL :
Simplifiez la gestion des règles : vous pouvez appliquer un grand nombre de règles
allowoudenyavec une seule référence dans votre stratégie de sécurité.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.
Accès Web sécurisé : vous pouvez sécuriser et auditer efficacement l'accès Web dans votre environnement Google Cloud .
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 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 configurer une liste d'URL
Console
Dans la console Google Cloud , 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.Dans 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, saisissez les informations dans le champ Liste d'URL ou cliquez sur Importer une liste pour importer une liste personnalisée d'URL. Pour en savoir plus, consultez la référence de la syntaxe UrlList.
Cliquez sur Créer.
Cloud Shell
Utilisez l'éditeur de texte de votre choix pour créer le fichier
url_list.yaml.Ajoutez ce qui suit 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 projet Google CloudREGION: 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 dans 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 commande
gcloud network-security url-lists importafin que votre règle de proxy Web sécurisé 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 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 (par exemple,
allow-org-url-list).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 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 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 un fichier
rule.yaml.Ajoutez ce qui suit 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 projet Google CloudREGION: région à laquelle s'applique cette règle.POLICY_NAME: nom d'une stratégie de sécurité existante utilisée par votre instance Secure Web ProxyRULE_NAME: nom de la règlePRIORITY_VALUE: priorité de la règle. Plus le nombre est faible, plus la priorité est élevée.RULE_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 commande
gcloud network-security gateway-security-policies rules import.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, tel que443HTTP_TEST_ADDRESS: adresse à tester, par exemplehttps://www.example.com. Il correspond à une entrée d'hôte ou d'URL dans votreurl_list.
Si tout fonctionne correctement, vous recevrez une réponse 200 OK. Cette réponse confirme que le trafic sortant vers une URL figurant dans votre liste d'URL et référencée par la règle de stratégie de sécurité est autorisé à transiter par votre instance de proxy Web sécurisé.