Créer des règles à l'aide d'une liste d'URL

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

Avant de commencer

  • Suivez la procédure de configuration initiale.

  • Vérifiez que la Google Cloud CLI version 406.0.0 ou ultérieure est installée:

    gcloud version | head -n1
    

    Si une version antérieure de gcloud CLI est installée, 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é, commencez par créer une stratégie de sécurité vide, puis créez un proxy Web.

Créer une stratégie 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 règle que vous souhaitez créer, par exemple myswppolicy.

  6. Saisissez une description de la règle, 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 le code suivant 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 règle 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 sur 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 Policy (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 du fichier proxy Web que vous souhaitez utiliser.

  2. Ajoutez le code suivant 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 certificat SSL
    • SUBNET_NAME: nom du sous-réseau qui contient 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 répertorier les adresses IP, omettez le champ pour que le proxy Web sélectionne 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, procédez comme indiqué 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. Saisissez un nom pour la liste d'URL que vous souhaitez créer, par exemple myurllist.

  6. Saisissez une description pour 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 à mettre en correspondance. 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 d'hôtes, d'URL ou de formats à mettre en correspondance

    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 donc ajouter des guillemets autour des URL qui comprennent 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 règle.

  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 (Allow) ou refusées (Deny).
    6. Dans la section Correspondance de session, spécifiez 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 Correspondance d'application, spécifiez les critères de correspondance de la demande.

    9. Cliquez sur Créer.

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

  8. Cliquez sur Create (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. Plus les valeurs sont faibles, plus les priorités sont é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é, exécutez 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, tel que 443

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

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

Étapes suivantes