Publier Secure Web Proxy en tant que service Private Service Connect

Pour centraliser votre déploiement de proxy Web sécurisé sur plusieurs réseaux VPC, vous pouvez rendre le proxy Web sécurisé disponible via un rattachement de service Private Service Connect.

Le déploiement de Secure Web Proxy avec Private Service Connect implique les étapes suivantes :

  1. Créez une stratégie et des règles de proxy Web sécurisé.
  2. Créez une instance Secure Web Proxy qui utilise votre stratégie.
  3. Créez un rattachement de service pour publier l'instance de proxy Web sécurisé en tant que service Private Service Connect.
  4. Créez un point de terminaison consommateur Private Service Connect dans chaque réseau VPC qui doit se connecter à Secure Web Proxy.
  5. Redirigez le trafic sortant de votre charge de travail vers l'instance de proxy Web sécurisé centralisée dans la région.
Déploiement du proxy Web sécurisé en mode rattachement de service Private Service Connect.
La publication de Secure Web Proxy en tant que service Private Service Connect vous permet de centraliser la gestion du trafic sortant pour les charges de travail sur plusieurs réseaux VPC. (cliquez pour agrandir).

Avant de commencer

Avant de suivre les étapes de cette page, effectuez la configuration initiale.

Créer et configurer une instance Secure Web Proxy

Ce guide explique comment créer une stratégie et des règles de proxy Web sécurisé qui correspondent au trafic par session.

Pour savoir comment configurer l'inspection TLS (facultatif), consultez Activer l'inspection TLS.

Pour en savoir plus sur la configuration facultative de la mise en correspondance au niveau de l'application, consultez Déployer une instance Secure Web Proxy.

Créer une règle Secure Web Proxy

Console

  1. Dans la console Google Cloud , accédez à la page Règles SWP.

    Accéder aux règles SWP

  2. Cliquez sur Créer une règle.

  3. Saisissez le nom de la règle que vous souhaitez créer, par exemple myswppolicy.

  4. Saisissez une description de la règle.

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

  6. Cliquez sur Créer.

Cloud Shell

  1. Créez un fichier policy.yaml.

    description: basic Secure Web Proxy policy
    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet
    • REGION : région de la règle
  2. Créez une stratégie de proxy Web sécurisé basée sur policy.yaml.

    gcloud network-security gateway-security-policies import policy1 \
        --source=policy.yaml \
        --location=REGION
    

Ajouter des règles Secure Web Proxy à votre stratégie

Configurez des règles de proxy Web sécurisé pour autoriser le trafic sortant de chaque charge de travail.

Cette section explique comment créer une règle pour autoriser le trafic provenant de charges de travail identifiées par un tag Resource Manager ou un compte de service. Pour savoir comment faire correspondre le trafic d'autres manières, consultez la documentation de référence sur le langage de correspondance CEL.

Console

  1. Dans la console Google Cloud , accédez à la page Règles SWP.

    Accéder aux règles SWP

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

  3. Pour ajouter des règles permettant aux charges de travail d'accéder à Internet, procédez comme suit :

    1. Cliquez sur Ajouter une règle.
    2. Saisissez une priorité. 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.
    3. Saisissez un nom.
    4. Saisissez une description.
    5. Saisissez un état.
    6. Dans le champ Action, sélectionnez Autoriser.
    7. Cliquez sur État, puis sélectionnez Activé.
    8. Dans la section Correspondance de session, spécifiez les critères de correspondance de la session.

      • Par exemple, pour autoriser le trafic vers google.com à partir de charges de travail avec l'ID de valeur de tag Resource Manager tagValues/123456, saisissez ce qui suit :

        source.matchTag('tagValues/123456') && host() == 'google.com'

      • Pour autoriser le trafic vers google.com à partir des charges de travail qui utilisent le compte de service account-name@my-project.iam.gserviceaccount.com, saisissez ce qui suit :

        source.matchServiceAccount('account-name@my-project.iam.gserviceaccount.com') && host() == 'google.com'

    9. Cliquez sur Créer.

Cloud Shell

Pour chaque règle que vous souhaitez ajouter, procédez comme suit :

  1. Créez un fichier rule.yaml et spécifiez les critères de correspondance de la session.

    • Pour autoriser le trafic vers un domaine spécifique à partir des charges de travail identifiées par l'ID de valeur de tag Resource Manager, créez le fichier suivant :

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on tag
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchTag('TAG_VALUE_ID') && host() == 'DOMAIN_NAME'
      

      Remplacez les éléments suivants :

      • PROJECT_ID : ID de votre projet
      • REGION : région de votre règle
      • RULE_NAME : nom de la règle.
      • PRIORITY : priorité 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)
      • TAG_VALUE_ID : ID de la valeur de tag des charges de travail pour lesquelles le trafic doit être autorisé
      • DOMAIN_NAME : nom de domaine vers lequel autoriser le trafic
    • Pour autoriser le trafic vers un domaine spécifique à partir de charges de travail qui utilisent un compte de service, créez le fichier suivant :

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on service account
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'DOMAIN_NAME'
      

      Remplacez SERVICE_ACCOUNT par le nom du compte de service.

  2. Pour mettre à jour votre règle avec la règle que vous avez définie dans rule.yaml, utilisez la commande suivante :

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=rule.yaml \
       --location=REGION \
       --gateway-security-policy=policy1
    

Déployer une instance Secure Web Proxy

Déployez une instance Secure Web Proxy en mode de routage explicite dans le réseau de cloud privé virtuel (VPC) que vous souhaitez utiliser pour le trafic sortant. Lorsque vous créez l'instance, associez-la à la stratégie et aux règles que vous avez créées lors des étapes précédentes.

La publication d'un proxy Web sécurisé avec un rattachement de service Private Service Connect n'est pas compatible avec le mode de routage du saut suivant.

Pour en savoir plus sur la configuration de l'instance, consultez Configurer un proxy Web. Vous n'avez pas besoin d'effectuer les autres étapes de cette page pour le moment.

Déployer Secure Web Proxy en tant que service Private Service Connect dans un modèle hub and spoke

Cette section explique comment déployer Secure Web Proxy en tant que service Private Service Connect, à l'aide d'un modèle hub and spoke pour centraliser la gestion du trafic sortant.

Publier Secure Web Proxy en tant que service Private Service Connect

Pour publier le proxy Web sécurisé en tant que service, créez un sous-réseau et un rattachement de service Private Service Connect. Le sous-réseau et le rattachement de service doivent se trouver dans la même région que les points de terminaison Private Service Connect qui accèdent au rattachement de service.

Créer un sous-réseau pour Private Service Connect

Pour créer un sous-réseau pour Private Service Connect, procédez comme suit.

Console

  1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le nom d'un réseau VPC pour afficher la page des détails du réseau VPC.

  3. Cliquez sur Sous-réseaux.

  4. Cliquez sur Ajouter un sous-réseau. Dans le panneau qui apparaît, procédez comme suit :

    1. Indiquez un Nom.
    2. Sélectionnez une Région.
    3. Dans la section Objectif, sélectionnez Private Service Connect.
    4. Pour Type de pile d'adresses IP, sélectionnez IPv4 (pile unique) ou IPv4 et IPv6 (double pile).
    5. Saisissez une plage IPv4. Exemple :10.10.10.0/24
    6. Si vous créez un sous-réseau à double pile, définissez le type d'accès IPv6 sur Interne.
    7. Cliquez sur Ajouter.

Cloud Shell

Effectuez l'une des opérations suivantes :

  • Pour créer un sous-réseau Private Service Connect IPv4 uniquement, procédez comme suit :

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Pour créer un sous-réseau Private Service Connect à double pile, procédez comme suit :

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Remplacez les éléments suivants :

  • SUBNET_NAME : nom à attribuer au sous-réseau.

  • NETWORK_NAME : nom du VPC pour le nouveau sous-réseau.

  • REGION : région du nouveau sous-réseau. Il doit s'agir de la même région que celle du service que vous publiez.

  • SUBNET_RANGE : plage d'adresses IPv4 à utiliser pour le sous-réseau, par exemple 10.10.10.0/24.

Créer un rattachement de service

Pour publier le proxy Web sécurisé en tant que pièce jointe de service dans le réseau VPC central (hub), procédez comme suit.

Cette section explique comment créer un rattachement de service qui accepte automatiquement toutes les connexions. Pour en savoir plus sur l'approbation explicite ou d'autres options de configuration, consultez Publier un service avec approbation explicite.

Console

  1. Dans la console Google Cloud , accédez à la page Private Service Connect.

    Accéder à Private Service Connect

  2. Cliquez sur l'onglet Services publiés.

  3. Cliquez sur Publier le service.

  4. Dans la section Détails de la cible, sélectionnez Proxy Web sécurisé.

  5. Sélectionnez l'instance de proxy Web sécurisé que vous souhaitez publier. Les champs de réseau et de région sont renseignés avec les détails de l'instance de proxy Web sécurisé sélectionnée.

  6. Dans le champ Nom du service, saisissez le nom du rattachement de service.

  7. Sélectionnez un ou plusieurs sous-réseaux Private Service Connect pour le service. La liste contient les sous-réseaux du réseau VPC de l'instance Secure Web Proxy sélectionnée.

  8. Dans la section Préférences de connexion, sélectionnez Accepter automatiquement toutes les connexions.

  9. Cliquez sur Ajouter un service.

Cloud Shell

Exécutez la commande gcloud compute service-attachments create.

gcloud compute service-attachments create SERVICE_ATTACHMENT_NAME \
    --target-service=SWP_INSTANCE_URI \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=NAT_SUBNET_NAME \
    --region=REGION \
    --project=PROJECT \

Remplacez les éléments suivants :

  • SERVICE_ATTACHMENT_NAME : nom du rattachement de service
  • SWP_INSTANCE_URI : URI de l'instance Secure Web Proxy, au format suivant : //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/INSTANCE_NAME
  • NAT_SUBNET_NAME : nom du sous-réseau Private Service Connect
  • REGION : région du déploiement Secure Web Proxy
  • PROJECT : projet du déploiement Secure Web Proxy

Créer des points de terminaison

Créez un point de terminaison dans chaque réseau et région VPC qui doivent envoyer du trafic sortant via l'instance de Secure Web Proxy centralisée. Répétez les étapes suivantes pour chaque point de terminaison que vous devez créer.

Console

  1. Dans la console Google Cloud , accédez à la page Private Service Connect.

    Accéder à la page "Private Service Connect"

  2. Cliquez sur l'onglet Points de terminaison connectés.

  3. Cliquez sur Connecter le point de terminaison.

  4. Pour Cible, sélectionnez Service publié

  5. Dans le champ Service cible, saisissez l'URI du rattachement de service auquel vous souhaitez vous connecter.

    L'URI du rattachement de service est au format suivant : projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME.

  6. Dans le champ Nom du point de terminaison, saisissez un nom à utiliser pour le point de terminaison.

  7. Sélectionnez un réseau pour le point de terminaison.

  8. Sélectionnez un sous-réseau pour le point de terminaison.

  9. Sélectionnez une adresse IP pour le point de terminaison. Si vous avez besoin d'une nouvelle adresse IP, vous pouvez en créer une :

    1. Cliquez sur le menu déroulant Adresse IP, puis sélectionnez Créer une adresse IP.
    2. Saisissez un nom et une description facultative pour l'adresse IP.
    3. Sélectionnez une version IP.
    4. Si vous créez une adresse IPv4, sélectionnez Attribuer automatiquement ou Laissez-moi choisir.

      Si vous avez sélectionné Laissez-moi choisir, saisissez l'adresse IP personnalisée que vous souhaitez utiliser.

    5. Cliquez sur Réserver.

  10. Cliquez sur Ajouter un point de terminaison.

Cloud Shell

  1. Réservez une adresse IP interne à attribuer au point de terminaison.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET \
        --ip-version=IP_VERSION
    

    Remplacez l'élément suivant :

    • ADDRESS_NAME : nom à attribuer à l'adresse IP réservée.

    • REGION : région de l'adresse IP du point de terminaison. Il doit s'agir de la même région que celle contenant le rattachement de service du producteur de services.

    • SUBNET : nom du sous-réseau de l'adresse IP du point de terminaison.

    • IP_VERSION : version IP de l'adresse IP, qui peut être IPV4 ou IPV6. IPV4 est la valeur par défaut. Pour spécifier IPV6, l'adresse IP doit être connectée à un sous-réseau avec une plage d'adresses IPv6 internes.

  2. Créez une règle de transfert pour connecter le point de terminaison au rattachement de service du producteur de services.

    gcloud compute forwarding-rules create ENDPOINT_NAME \
       --region=REGION \
       --network=NETWORK_NAME \
       --address=ADDRESS_NAME \
       --target-service-attachment=SERVICE_ATTACHMENT
    

    Remplacez l'élément suivant :

    • ENDPOINT_NAME : nom à attribuer au point de terminaison.

    • REGION : région du point de terminaison. Cette région doit être celle qui contient le rattachement de service du producteur de services.

    • NETWORK_NAME : nom du réseau VPC utilisé pour le point de terminaison.

    • ADDRESS_NAME : nom de l'adresse réservée.

    • SERVICE_ATTACHMENT : URI du rattachement de service du producteur de services. Exemple : projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME.

Pointer les charges de travail vers des points de terminaison Private Service Connect

Configurez les variables d'environnement du proxy afin que chaque charge de travail utilise l'adresse IP d'un point de terminaison Private Service Connect pour le trafic sortant.

Par exemple, pour une charge de travail dans un environnement Linux ou macOS, vous pouvez utiliser la ligne de commande pour configurer temporairement les variables d'environnement HTTP_PROXY et HTTPS_PROXY :

export HTTP_PROXY="http://ENDPOINT_IP_ADDRESS:HTTP_PORT"
export HTTPS_PROXY="https://ENDPOINT_IP_ADDRESS:HTTPS_PORT"

Remplacez les éléments suivants :

  • ENDPOINT_IP_ADDRESS : adresse IP interne de votre point de terminaison
  • HTTP_PORT : port de réception du trafic HTTP
  • HTTPS_PORT : port de réception du trafic HTTPS

Pour savoir comment définir de manière permanente des variables de proxy dans l'environnement de vos charges de travail, consultez la documentation de votre système d'exploitation.

Étape suivante