Publier un proxy Web sécurisé en tant que service Private Service Connect

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

Le déploiement d'un proxy Web sécurisé 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 de proxy Web sécurisé 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 client Private Service Connect dans chaque réseau VPC qui doit se connecter au proxy Web sécurisé.
  5. Pointez le trafic de sortie de votre charge de travail vers l'instance centralisée du proxy Web sécurisé dans la région.
Déploiement du proxy Web sécurisé en mode de rattachement de service Private Service Connect.
Publier un proxy Web sécurisé 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, suivez les étapes de configuration initiale.

Créer et configurer une instance de proxy Web sécurisé

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 en savoir plus sur la configuration facultative de l'inspection TLS, consultez la section Activer l'inspection TLS.

Pour en savoir plus sur la configuration facultative de la mise en correspondance au niveau de l'application, consultez Déploiement d'une instance de proxy Web sécurisé.

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

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 un nom pour la stratégie que vous souhaitez créer, par exemple myswppolicy.

  4. Saisissez une description de la stratégie.

  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 de proxy Web sécurisé à 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 une balise Resource Manager ou un compte de service. Pour en savoir plus sur la mise en correspondance du trafic par d'autres moyens, consultez la documentation de référence du langage de mise en 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 balise 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 mise en correspondance de la session.

    • Pour autoriser le trafic vers un domaine spécifique à partir de charges de travail identifiées par l'ID de valeur de balise 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 balise des charges de travail pour lesquelles autoriser le trafic
      • DOMAIN_NAME: nom de domaine auquel 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 stratégie 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 de proxy Web sécurisé

Déployez une instance de proxy Web sécurisé en mode routage explicite dans le réseau 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 aux étapes précédentes.

La publication du 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 la section Configurer un proxy Web. Vous n'avez pas besoin d'effectuer les autres étapes de cette page pour le moment.

Déployer le proxy Web sécurisé en tant que service Private Service Connect dans un modèle en hub et en spoke

Cette section explique comment déployer un proxy Web sécurisé en tant que service Private Service Connect, à l'aide d'un modèle en hub et en rayon pour centraliser la gestion du trafic sortant.

Publier un proxy Web sécurisé en tant que service Private Service Connect

Pour publier le proxy Web sécurisé en tant que service, créez un sous-réseau Private Service Connect et un rattachement de service. 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 qu'accessoire de service dans le réseau VPC central (hub), procédez comme suit :

Cette section explique comment créer une pièce jointe de service qui accepte automatiquement toutes les connexions. Pour en savoir plus sur l'approbation explicite ou d'autres options de configuration, consultez la page 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 de proxy Web sécurisé 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 du proxy Web sécurisé, 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 du proxy Web sécurisé
  • PROJECT: projet de déploiement du proxy Web sécurisé

Créer des points de terminaison

Créez un point de terminaison dans chaque réseau VPC et région qui doit envoyer du trafic sortant via l'instance 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 à 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 interne.

  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.

Diriger 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 permettant de recevoir le trafic HTTP
  • HTTPS_PORT: port permettant de recevoir le trafic HTTPS

Pour en savoir plus sur la définition permanente de variables de proxy dans l'environnement de vos charges de travail, consultez la documentation de votre système d'exploitation.

Étape suivante