Utiliser une liste d'URL pour créer des règles

Ce guide explique comment utiliser des listes d'URL pour définir les URL auxquelles vos utilisateurs peuvent accéder.

Avant de commencer

  • Suivez les étapes de configuration initiale.

  • Vérifiez que vous avez installé la version 406.0.0 ou ultérieure de Google Cloud CLI:

    gcloud version | head -n1
    

    Si vous avez installé une version antérieure de gcloud CLI, mettez-la à jour:

    gcloud components update --version=406.0.0
    

Créer une instance de proxy Web sécurisé avec une règle vide

Pour créer une instance de proxy Web sécurisé, créez d'abord une stratégie de sécurité vide, puis un proxy Web.

Créer une règle de sécurité vide

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur l'onglet Règles.

  4. Cliquez sur Create a policy (Créer une règle).

  5. Saisissez un nom pour la stratégie que vous souhaitez créer, par exemple myswppolicy.

  6. Saisissez une description de la stratégie, par exemple My new swp policy.

  7. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer la règle.

  8. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier POLICY_FILE.yaml. Remplacez POLICY_FILE par le nom de fichier souhaité pour le fichier de stratégie.

  2. Ajoutez les éléments suivants au fichier YAML que vous avez créé:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : nom de votre projet
    • REGION: région à laquelle cette règle s'applique
    • POLICY_NAME: nom de la stratégie que vous créez
    • POLICY_DESCRIPTION: description de la règle que vous créez
  3. Importez la stratégie de sécurité:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Créer un proxy Web

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur Configurer un proxy Web.

  4. Saisissez un nom pour le proxy Web que vous souhaitez créer, par exemple myswp.

  5. Saisissez une description du proxy Web, par exemple My new swp.

  6. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer le proxy Web.

  7. Dans la liste Réseau, sélectionnez le réseau sur lequel vous souhaitez créer le proxy Web.

  8. Dans la liste Sous-réseau, sélectionnez le sous-réseau dans lequel vous souhaitez créer le proxy Web.

  9. Saisissez l'adresse IP du proxy Web.

  10. Dans la liste Certificat, sélectionnez le certificat que vous souhaitez utiliser pour créer le proxy Web.

  11. Dans la liste Règle, sélectionnez la règle que vous avez créée pour associer le proxy Web.

  12. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier GATEWAY_FILE.yaml. Remplacez GATEWAY_FILE par le nom de fichier souhaité pour le fichier de proxy Web.

  2. Ajoutez les éléments suivants au fichier YAML que vous avez créé:

    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/SUBNET_NAME
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Remplacez les éléments suivants :

    • GATEWAY_NAME: nom de cette instance
    • GATEWAY_PORT_NUMBERS: liste des numéros de port de cette passerelle, par exemple [80,443]
    • CERTIFICATE_URLS: liste des URL de certificats SSL
    • SUBNET_NAME: nom du sous-réseau contenant GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: liste facultative d'adresses IP pour vos instances de proxy Web sécurisé dans les sous-réseaux de proxy créés précédemment lors des étapes de configuration initiale

      Si vous choisissez de ne pas lister d'adresses IP, omettez le champ pour que le proxy Web choisisse une adresse IP à votre place.

  3. Créez une instance de proxy Web sécurisé:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=GATEWAY_FILE.yaml \
        --location=REGION
    

Tester la connectivité

Pour tester la connectivité, utilisez la commande curl à partir de n'importe quelle VM de votre réseau cloud privé virtuel (VPC) :

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Une erreur 403 Forbidden est attendue.

Créer une liste d'URL

Pour créer une liste d'URL et ajouter une règle, effectuez les tâches décrites dans les sections suivantes.

Créer et configurer une liste d'URL

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur l'onglet Listes d'URL.

  4. Cliquez sur Créer une liste d'URL.

  5. Attribuez un nom à la liste d'URL que vous souhaitez créer, par exemple myurllist.

  6. Saisissez une description de la liste d'URL, par exemple My new URL list.

  7. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer la liste d'URL.

  8. Cliquez sur Importer des listes pour importer la liste des hôtes, des URL ou des formats à faire correspondre. Pour en savoir plus, consultez la documentation de référence sur la syntaxe UrlList.

  9. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE avec le nom de fichier souhaité.

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Remplacez les éléments suivants :

    • PROJECT_ID : votre numéro de projet
    • REGION: région à laquelle s'applique cette liste d'URL
    • URL_LIST_NAME: nom de la liste d'URL que vous créez
    • URL_LIST: liste des hôtes, URL ou formats à 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/*"
    

    Le caractère astérisque (*) a une signification particulière en YAML. Par conséquent, vous devez ajouter des guillemets autour des URL qui incluent un caractère *.

  2. Ajoutez la liste d'URL afin qu'elle puisse être référencée par une règle de proxy Web sécurisé:

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=URL_LIST_FILE.yaml
    

Ajouter une règle

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Dans le menu de sélection du projet, sélectionnez l'ID de votre organisation ou le dossier contenant votre stratégie.

  4. Cliquez sur le nom de votre stratégie.

  5. Cliquez sur Ajouter une règle.

  6. Renseignez les champs de la règle :

    1. Nom
    2. Description
    3. Status
    4. Priorité : 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ù 0 correspond à la priorité la plus élevée.
    5. Dans la section Action, indiquez si les connexions correspondant à la règle sont autorisées (Autoriser) ou refusées (Refuser).
    6. Dans la section Correspondance de session, indiquez le nom de la liste d'URL que vous avez créée précédemment. Exemple :

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Pour activer l'inspection TLS, sélectionnez Activer l'inspection TLS.

    8. Dans la section Application Match (Correspondance des applications), spécifiez les critères de correspondance de la requête.

    9. Cliquez sur Créer.

  7. Cliquez sur Ajouter une règle pour ajouter une règle.

  8. Cliquez sur Créer pour créer la règle.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier RULE_FILE.yaml. Remplacez RULE_FILE par le nom de fichier souhaité.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: PRIORITY_VALUE
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Remplacez les éléments suivants :

    • PROJECT_ID : votre numéro de projet
    • REGION: région à laquelle cette règle s'applique
    • POLICY_NAME: nom d'un GatewaySecurityPolicy existant utilisé par votre instance de proxy Web sécurisé.
    • RULE_NAME: nom de l'GatewaySecurityPolicyRule que vous créez
    • PRIORITY_VALUE: valeur de priorité pour cette règle. Les nombres inférieurs correspondent à des priorités plus élevées.
    • RULE_DESCRIPTION: description de la règle que vous créez
    • SESSION_CEL_EXPRESSION: expression CEL (Common Expression Language) pour la session
    • APPLICATION_CEL_EXPRESSION: expression CEL pour l'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')"
    

  2. Ajoutez une règle de proxy Web sécurisé à l'aide de la liste d'URL que vous avez créée précédemment:

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=RULE_FILE.yaml \
          --gateway-security-policy=POLICY_NAME
    

Tester la connectivité

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 proxy Web

  • SWP_PORT_NUMBER: numéro de port de votre proxy Web, par exemple 443

  • HTTP_TEST_ADDRESS: adresse à tester, telle que https://www.example.com, qui correspond à une entrée d'hôte ou d'URL dans votre URL_LIST

La requête doit renvoyer une réponse positive.

Étape suivante