Sécuriser les applications client-serveur

Sécuriser des applications client-serveur avec le connecteur client

Présentation

Chrome Enterprise Premium est la solution zéro confiance de Google Cloud qui fournit un accès sécurisé aux applications privées grâce à une protection intégrée des données et contre les menaces. Chrome Enterprise Premium offre un accès sécurisé à tous aux applications Web (HTTPS).

Le connecteur client Chrome Enterprise Premium étend la compatibilité aux applications non Web avec en créant une connexion sécurisée aux applications s'exécutant à la fois dans Google Cloud et autres que Google Cloud, avec gestion de l'authentification y accéder.

Fonctionnement

Le schéma suivant fournit une vue d'ensemble de l'architecture du connecteur client.

Composants du connecteur client Chrome Enterprise Premium

Voici les principaux composants du connecteur client :

Endpoint Verification et agent client : le connecteur client s'intègre à Endpoint Verification, une extension Chrome avec un agent léger natif qui s'exécute sur les ordinateurs portables ou de bureau des utilisateurs et fournit des informations sur l'appareil. Endpoint Verification fait également office de plan de contrôle pour le démarrage et l'arrêt de l'utilisateur final. des connexions aux passerelles clientes.

Passerelles client : composants régionaux côté serveur auxquels les clients peuvent se connecter. Les passerelles clientes sont déployées par les administrateurs. Les passerelles communiquent avec le système d'application des règles Chrome Enterprise Premium pour appliquer les vérifications contextuelles. Le système d'application des règles Chrome Enterprise Premium utilise Identity-Aware Proxy et Access Context Manager, une règle zéro confiance flexible de Chrome Enterprise Premium d'un moteur de recherche.

Le connecteur client envoie du trafic vers vos applications protégées à partir d'appareils utilisateur final, client, via un canal sécurisé, une passerelle. Vous pouvez vous connecter à des applications Web et non Web exécutées dans Google Cloud ou en dehors de Google Cloud. Vous pouvez utiliser Cloud VPN ou Cloud Interconnect pour vous connecter à vos applications qui ne se trouvent pas dans Google Cloud.

Avant de commencer

Avant d'activer le connecteur client Chrome Enterprise Premium, assurez-vous de disposer des éléments suivants :

Activer le connecteur client Chrome Enterprise Premium

Configurer l'accès aux services privés

Le connecteur client utilise l'accès aux services privés pour permettre la connectivité entre le réseau VPC géré par Google et le réseau VPC du client. Cela garantit que le trafic des utilisateurs est acheminé vers le réseau VPC du consommateur.

Console

  1. L'accès aux services privés requiert de réserver une plage d'adresses IP afin d'éviter tout conflit d'adresses IP entre votre réseau VPC et celui géré par Google. Pour allouer une plage d'adresses IP, procédez comme suit :

    1. Accédez à la page "Réseaux VPC" dans Google Cloud Console.
      Accéder à la page "Réseaux VPC"

    2. Sélectionnez le réseau VPC connecté à votre application.

    3. Sélectionnez l'onglet Connexion au service privé.

    4. Dans l'onglet Connexion de service privée, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.

    5. Cliquez sur Allouer une plage d'adresses IP.

    6. Saisissez un nom et une description pour la plage d'adresses IP à allouer.

    7. Spécifiez une plage d'adresses IP pour l'allocation :

      • Pour spécifier une plage d'adresses IP, sélectionnez Personnalisée, puis saisissez un bloc CIDR, tel que 192.168.0.0/16.
      • Pour spécifier une longueur de préfixe et laisser Google sélectionner une plage disponible, sélectionnez Automatique, puis saisissez une longueur de préfixe, telle que 16.

      Spécifiez un réseau d'au moins /24.

    8. Cliquez sur Allouer pour créer la plage allouée.

  2. Créer un appairage de réseaux VPC en procédant comme suit:

    1. Accédez à la page "Réseaux VPC" dans Google Cloud Console.
      Accéder à la page "Réseaux VPC"
    2. Sélectionnez le réseau VPC connecté à votre application.
    3. Sélectionnez l'onglet Connexion au service privé.
    4. Dans l'onglet Connexion au service privé, sélectionnez l'onglet Connexions privées aux services.
    5. Cliquez sur Créer une connexion pour créer une connexion privée entre votre réseau et le service de connecteur client.
    6. Dans la fenêtre qui s'affiche, laissez la valeur par défaut pour Producteur de services connectés. Dans Allocation attribuée, sélectionnez l'allocation que vous avez créée à l'étape précédente.
    7. Cliquez sur Connecter pour créer la connexion.
  3. Créez une règle de pare-feu.

    1. Dans Google Cloud Console, accédez à la page Pare-feu.
      Accéder à la page "Pare-feu"
    2. Cliquez sur Créer une règle de pare-feu.
    3. Entrez un nom pour la règle de pare-feu.
      Ce nom doit être unique au projet.
    4. Facultatif : Vous pouvez activer la journalisation des règles de pare-feu :
      • Cliquez sur Journaux > Activé.
      • Pour omettre les métadonnées, développez Détails des journaux, puis désélectionnez Inclure les métadonnées.
    5. Spécifiez le réseau connecté à votre application.
    6. Spécifiez la priorité de la règle. Plus le nombre est faible, plus la priorité est élevée.
    7. Pour le champ Sens du trafic, sélectionnez Entrée.
    8. Pour l'option Action en cas de correspondance, sélectionnez Autoriser.
    9. Pour les Cibles, sélectionnez Toutes les instances du réseau.
    10. Pour Filtre source, sélectionnez Plages IPv4, puis saisissez les valeurs address et prefixLength de l'étape 1 pour représenter la plage d'adresses IP allouée au format CIDR. Utiliser le format 0.0.0.0/0 pour toute source IPv4.
    11. Dans Protocoles et ports, sélectionnez Tout autoriser pour que la règle s'applique. s'appliquent à tous les protocoles et ports de destination.
    12. Cliquez sur CRÉER.

gcloud

  1. L'accès aux services privés nécessite que vous réserviez une plage d'adresses IP afin d'éviter les collisions d'adresses IP entre votre réseau VPC et le réseau VPC géré par Google. Exécutez la commande suivante pour allouer une plage d'adresses IP :

    gcloud compute addresses create RESERVED_RANGE \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --prefix-length=16 \
      --purpose=VPC_PEERING \
      --global
    

    Remplacez les éléments suivants :

    • RESERVED_RANGE : nom de la plage d'adresses IP à réserver pour l'association VPC. Le nom ne peut contenir que des lettres minuscules, des chiffres et des traits d'union.
    • CONSUMER_NETWORK : nom de votre réseau VPC connecté à l'application.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  2. Créez la connexion d'appairage de VPC.

    gcloud services vpc-peerings connect \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --ranges=RESERVED_RANGE \
      --service="servicenetworking.googleapis.com"
    

    Remplacez les éléments suivants :

    • CONSUMER_NETWORK: nom de votre réseau VPC connecté à l'application.
    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK
    • RESERVED_RANGE : nom de la plage réservée pour l'association de VPC.
  3. Obtenez les détails de la plage d'adresses IP allouée.

    gcloud compute addresses describe RESERVED_RANGE \
      --global \
      --project=CONSUMER_PROJECT
    

    Remplacez les éléments suivants :

    • RESERVED_RANGE : nom de la plage réservée pour l'association de VPC.
    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK
  4. Utilisez les valeurs address et prefixLength de la sortie de la pour représenter la plage d'adresses IP allouée au format CIDR, puis créez une une règle de pare-feu.

    gcloud compute firewall-rules create "allow-peered-ingress" \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --direction ingress \
      --action allow \
      --source-ranges={Allocated IP range in CIDR format i.e. address/prefixLength} \
      --rules=all
    

    Remplacez les éléments suivants :

    • CONSUMER_NETWORK: nom de votre réseau VPC connecté à l'application.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.

Pour en savoir plus sur la configuration des règles de pare-feu, consultez la section Utiliser des règles de pare-feu VPC.

Configurer les ressources du connecteur client

Vous devez configurer deux types de ressources :

  • Service de connecteur client: définit une configuration commune pour un groupe de passerelle VPN haute disponibilité.
  • Passerelle client : fait référence au service de connecteur client et contrôle les régions dans lesquelles vous souhaitez gérer le trafic utilisateur.

Un seul service de connecteur client par domaine et une seule passerelle client par région et par service de connecteur client sont autorisés. De plus, vous ne pouvez utiliser que les régions suivantes pour héberger votre service de connecteur client et vos ressources de passerelle : asia-east1, europe-west1, us-east1 et us-central1.

Créer le service de connecteur client

Console

  1. Accédez à la page d'administration d'IAP.

    Accéder à IAP

  2. Cliquez sur CONNECTEURS > ACTIVER LE CONNECTEUR DU CLIENT.

  3. Indiquez le réseau VPC qui recevra le trafic des clients gérés.

  4. Sélectionnez les régions auxquelles vos clients peuvent se connecter. Notez que les passerelles clientes sont créées à cette étape. Vous n'avez donc pas besoin de les créer dans la procédure Créer, vérifier ou supprimer des passerelles clientes.

  5. Saisissez la plage d'adresses IP des applications pour laquelle connecteur client à atteindre.

  6. Cliquez sur ACTIVER LE CONNECTEUR DU CLIENT. La création du connecteur peut prendre plusieurs minutes.

gcloud

Exécutez la commande suivante :

gcloud beta beyondcorp client-connector services create CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

config.json est:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Remplacez les éléments suivants :

  • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle créer le service de connecteur client. Vous pouvez spécifier l'une des régions suivantes : asia-east1, europe-west1, us-east1 et us-central1.
  • DESTINATION_ADDRESS : adresse hôte du sous-réseau de destination hébergeant l'application. Par exemple, si votre application utilise 10.0.0.0/28, l'adresse est 10.0.0.0.
  • DESTINATION_MASK : masque de réseau du sous-réseau de destination hébergeant l'application. Par exemple, si votre application utilise 10.0.0.0/28, le masque est 255.255.255.240.
  • CONSUMER_NETWORK : nom de votre réseau VPC connecté à l'application.

API

Exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @config.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices?client_connector_service_id=CLIENT_CONNECTOR_SERVICE_NAME

config.json est:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Remplacez les éléments suivants :

  • DESTINATION_ADDRESS: adresse hôte de la destination le sous-réseau qui héberge l'application. Par exemple, si votre application utilise 10.0.0.0/28, l'adresse est 10.0.0.0.
  • DESTINATION_MASK : masque de réseau du sous-réseau de destination hébergeant l'application. Par exemple, si votre application utilise 10.0.0.0/28, le masque est alors 255.255.255.240.
  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • CONSUMER_NETWORK : nom de votre réseau VPC connecté à l'application.
  • SERVICE_LOCATION : région dans laquelle créer le service de connecteur client.
  • CLIENT_CONNECTOR_SERVICE_NAME: nom de votre client service de connecteur.

Vérifiez que le service de connecteur client a été créé en listant le service.

Console

  1. Accédez à la page d'administration d'IAP.

    Accéder à IAP

  2. Cliquez sur CONNECTEURS. Votre connecteur doit figurer dans la section Connecteur client et son état doit être indiqué par une coche verte.

gcloud

Exécutez la commande suivante :

gcloud beta beyondcorp client-connector services list \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION

Remplacez les éléments suivants :

  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle créer le service de connecteur client.

API

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices

Remplacez les éléments suivants :

  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle se trouve le service de connecteur client.

Facultatif: Mettre à jour un service de connecteur client

Console

Pour mettre à jour les itinéraires de destination, procédez comme suit :

  1. Accédez à la page d'administration d'IAP.

    Accéder à IAP

  2. Cliquez sur CONNECTEURS.

  3. Dans la section Connecteur client, cliquez sur l'icône en forme de crayon à côté de le connecteur client que vous souhaitez mettre à jour.

  4. Saisissez les nouvelles adresses d'hôte et masques de réseau des sous-réseaux de destination qui héberge les applications, puis cliquez sur METTRE À JOUR LE CONNECTEUR DU CLIENT.

gcloud

Mettez à jour les routes de destination en exécutant la commande suivante :

gcloud beta beyondcorp client-connector services update CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

config.json est:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Remplacez les éléments suivants :

  • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
  • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK
  • SERVICE_LOCATION: région dans laquelle le connecteur client est localisé.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Nouvelles adresses hôtes des sous-réseaux de destination hébergeant les applications.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2 : nouveaux masques de réseau pour les sous-réseaux de destination.

API

Pour mettre à jour les routes de destination, exécutez la commande suivante:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @update.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME?update_mask=ingress.config.destinationRoutes

update.json correspond à :

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Remplacez les éléments suivants :

  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION: région dans laquelle le connecteur client est localisé.
  • CLIENT_CONNECTOR_SERVICE_NAME: nom de votre client service de connecteur.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2 : nouvelles adresses d'hôte des sous-réseaux de destination hébergeant les applications.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: le de nouveaux masques de réseau pour les sous-réseaux de destination.

Facultatif: Supprimer un service de connecteur client

Console

  1. Accédez à la page d'administration d'IAP.

    Accéder à IAP

  2. Cliquez sur CONNECTEURS.

  3. Dans la section Connecteur client, cliquez sur l'icône en forme de corbeille pour supprimer le service et les passerelles de connecteur client. Cette opération peut prendre plusieurs minutes.

gcloud

Exécutez la commande suivante :

gcloud beta beyondcorp client-connector services delete CLIENT_CONNECTOR_SERVICE_NAME \
  --project CONSUMER_PROJECT \
  --location SERVICE_LOCATION

Remplacez les éléments suivants :

  • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
  • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK
  • SERVICE_LOCATION : région dans laquelle se trouve le service de connecteur client.

API

Exécutez la commande suivante :

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME

Remplacez les éléments suivants :

  • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION: région dans laquelle le connecteur client est localisé.
  • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.

Créer, valider ou supprimer des passerelles client

Console

  1. Si vous utilisez la console pour configurer le connecteur client, les passerelles client sont créées lorsque vous créez le service de connecteur client à une étape précédente.

  2. Pour vérifier que les passerelles clientes sont opérationnelles :

    1. Accédez à la page d'administration d'IAP.

      Accéder à IAP

    2. Cliquez sur CONNECTEURS. Votre connecteur et les passerelles associées doit figurer dans la section Connecteur client et doit disposer d'un une coche verte pour l'état.
  3. Facultatif : Pour supprimer une passerelle client, procédez comme suit :

    1. Accédez à la page d'administration d'IAP.

      Accéder à IAP

    2. Cliquez sur CONNECTEURS.

    3. Dans la section Connecteur client, cliquez sur l'icône en forme de crayon à côté de sur lequel vous souhaitez supprimer une passerelle.

    4. Supprimer une région du service de connecteur en décochant la case correspondante la liste déroulante Régions de passerelle, puis cliquez sur METTRE À JOUR LE CONNECTEUR DU CLIENT.

gcloud

  1. Créez une passerelle client.

    gcloud beta beyondcorp client-connector gateways create CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION \
      --client-connector-service \
      projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME
    

    Remplacez les éléments suivants :

    • CLIENT_GATEWAY_NAME: nom de votre passerelle de client.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle créer le client de passerelle VPN haute disponibilité.
    • SERVICE_LOCATION : région dans laquelle se trouve le service de connecteur client.
    • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
  2. Vérifiez que les passerelles clientes sont opérationnelles.

    gcloud beta beyondcorp client-connector gateways list \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION : région dans laquelle se trouve la passerelle client.
  3. Facultatif: supprimez une passerelle de client.

    gcloud beta beyondcorp client-connector gateways delete CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Remplacez les éléments suivants :

    • CLIENT_GATEWAY_NAME : nom de votre passerelle client.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION : région dans laquelle se trouve la passerelle client.

API

  1. Exécutez la commande suivante :

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d "{client_connector_service: \"projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME\"}" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways?client_gateway_id=CLIENT_GATEWAY_NAME
    

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle le connecteur client est localisé.
    • CLIENT_CONNECTOR_SERVICE_NAME: nom de votre client service de connecteur.
    • GATEWAY_LOCATION: région dans laquelle créer la passerelle de client.
    • CLIENT_GATEWAY_NAME : nom de votre passerelle client.

    Cette étape peut prendre quelques minutes.

  2. Vérifiez que les passerelles clientes sont opérationnelles.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways
    

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle la passerelle cliente se trouve localisés.
  3. Facultatif : Supprimez une passerelle client.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways/CLIENT_GATEWAY_NAME
    

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION : région dans laquelle se trouve la passerelle du connecteur client.
    • CLIENT_GATEWAY_NAME: nom de votre passerelle de client.

Configurer des règles d'accès contextuelles

  1. Déterminez les principaux ou créez un groupe d'utilisateurs. Identifiez les utilisateurs qui ont besoin d'accéder aux applications non Web protégées. Vous pouvez également créer un groupe d'utilisateurs pour simplifier la configuration et la gestion.

  2. Facultatif: Créer un niveau d'accès dans Access Context Manager pour définir une règle contextuelle, que vous pouvez utiliser pour restreindre l'accès à votre application.

  3. Configurer une stratégie IAM pour le client ressource de service de connecteur, puis attribuez au compte principal ou au groupe d'utilisateurs le rôle Utilisateur du service de connecteur client Cloud BeyondCorp (roles/beyondcorp.clientConnectorServiceUser) requis pour accéder aux applications non Web. Vous pouvez éventuellement spécifier une condition IAM pour provisionner le rôle uniquement lorsqu'un niveau d'accès est rempli. Pour mettre à jour la stratégie IAM d'une ressource, vous pouvez utiliser la console ou l'API.

    Dans la console, procédez comme suit :

    1. Accédez à la page d'administration d'IAP.

      Accéder à IAP

    2. Cliquez sur APPLICATIONS.
    3. Si vous n'avez pas encore configuré d'écran de consentement OAuth, vous devez le faire pour terminer cette étape. Dans CONNECT NEW APPLICATION, sélectionnez votre connecteur sous Applications non Web.
    4. Dans la fenêtre qui s'affiche, cliquez sur AJOUTER UN COMPTE PRINCIPAL.
    5. Attribuez au compte principal ou au groupe d'utilisateurs le rôle Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser), requis pour accéder aux applications non Web. Vous pouvez éventuellement spécifier un niveau d'accès pour provisionner le rôle uniquement lorsque le niveau d'accès est satisfait. Pour spécifier un niveau d'accès, vous devez être administrateur de l'organisation ou disposer du view et edit aux niveaux d'accès de l'organisation.
    6. Cliquez sur ENREGISTRER.

Mettre à jour une stratégie IAM

Console

  1. Accédez à la page d'administration d'IAP.

    Accéder à IAP

  2. Cliquez sur l'onglet APPLICATIONS, puis dans la liste Ressource, développez Applications non Web.
  3. Sélectionnez votre connecteur client. Une section contenant les autorisations IAM associées à votre connecteur s'ouvre.
  4. Vous pouvez mettre à jour les stratégies IAM associées à votre connecteur client dans la section qui s'ouvre.

gcloud

  1. Lisez la stratégie existante. La méthode getIamPolicy() lit la table la stratégie IAM définie pour la ressource du service du connecteur client dans policy.json

    gcloud beta beyondcorp client-connector services get-iam-policy CLIENT_CONNECTOR_SERVICE_NAME \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION > policy.json
    

    Remplacez les éléments suivants :

    • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle le client le service du connecteur.
  2. Modifiez les conditions renvoyées. Mettez à jour les liaisons dans policy.json pour inclure l'attribution du nouveau rôle IAM. Vous pouvez le faire dans un texte ou par programmation. Exemple :

    {
                "bindings": [
                  {
                    "role": "roles/beyondcorp.clientConnectorServiceUser",
                    "members": [
                      "user:EXAMPLE_USER@EXAMPLE.COM",
                      "group:EXAMPLE_GROUP@EXAMPLE.COM",
                    ],
                    "condition":
                     {
                       "expression":
            "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
            request.auth.access_levels",
                      "title": "CONDITION_NAME"
                    }
                  }
                ]
    }
    

    Remplacez les éléments suivants :

    • POLICY_NAME : nom numérique de votre stratégie d'accès Access Context Manager.
    • LEVEL_NAME : nom de votre niveau d'accès Access Context Manager.
    • CONDITION_NAME : texte du titre de la condition IAM.
  3. Écrivez la stratégie mise à jour. Vous pouvez utiliser la méthode setIamPolicy() pour écrire la stratégie IAM mise à jour. Exemple :

    gcloud beta beyondcorp client-connector services set-iam-policy CLIENT_CONNECTOR_SERVICE_NAME policy.json \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION

    Remplacez les éléments suivants :

    • CLIENT_CONNECTOR_SERVICE_NAME : nom de votre service de connecteur client.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle se trouve le service du connecteur client.

API

  1. Lisez la stratégie existante. La méthode getIamPolicy() lit la stratégie IAM existante pour la ressource de service de connecteur client dans policy.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:getIamPolicy > policy.json
    

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK
    • SERVICE_LOCATION: région dans laquelle se trouve le service du connecteur client.
    • CLIENT_CONNECTOR_SERVICE_NAME: nom du service de votre connecteur client.
  2. Modifiez les conditions renvoyées. Mettez à jour les liaisons dans policy.json pour inclure l'attribution du nouveau rôle IAM. Vous pouvez le faire dans un éditeur de texte ou de manière programmatique. Exemple :

     {
       "policy": {
          "bindings": [
            {
              "role": "roles/beyondcorp.clientConnectorServiceUser",
              "members": [
                "user:EXAMPLE_USER@EXAMPLE.COM",
                "group:EXAMPLE_GROUP@EXAMPLE.COM",
             ],
             "condition":
              {
                "expression":
     "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
     request.auth.access_levels",
                "title": "CONDITION_NAME"
              }
           }
         ]
       }
     }
     

    Remplacez les éléments suivants :

    • POLICY_NAME : nom numérique de votre stratégie d'accès Access Context Manager.
    • LEVEL_NAME : nom de votre niveau d'accès Access Context Manager.
    • CONDITION_NAME: texte du titre de la condition IAM.
  3. Écrivez la stratégie mise à jour. Vous pouvez utiliser la méthode setIamPolicy() pour écrire la stratégie IAM mise à jour. Exemple :

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @policy.json \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:setIamPolicy
     

    Remplacez les éléments suivants :

    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle se trouve le service du connecteur client.
    • CLIENT_CONNECTOR_SERVICE_NAME: nom du service de votre connecteur client.

Installer l'agent de connecteur client sur des points de terminaison (Windows ou macOS)

  1. Activez l'extension Endpoint Verification en suivant les étapes de la section Configurer la validation des points de terminaison sur vos appareils.

  2. Une fois la validation des points de terminaison opérationnelle, l'extension Endpoint Verification de l'utilisateur mis à jour affiche un bouton START CONNECTION (COMMENCER LA CONNEXION). Pour accéder à l'application non Web protégée, les utilisateurs peuvent cliquer sur le bouton START CONNECTION (DÉMARRER LA CONNEXION).

Lorsqu'un utilisateur initie une connexion pour la première fois, Endpoint Verification invite l'utilisateur permet à l'utilisateur de télécharger et d'installer les binaires du connecteur client. Vous pouvez également peuvent télécharger les binaires du connecteur client aux URL suivantes:

Une fois la connexion établie, un utilisateur peut accéder à la ressource protégée. Les utilisateurs peuvent choisir de mettre fin à la connexion en cliquant sur le bouton FIN DE LA CONNEXION.

Dépannage

Si vous rencontrez des problèmes lors de l'utilisation du connecteur client, les informations suivantes fournit des étapes de dépannage pour résoudre votre problème.

Vous ne pouvez pas accéder à votre application

La passerelle du connecteur client est en cours d'exécution et la connexion est établie, mais vous ne parvenez toujours pas à accéder à votre application.

Voici les raisons les plus courantes de ce problème et les solutions possibles :

  • Vous n'avez pas annoncé la plage d'adresses IP allouée sur Cloud VPN. Si vous utilisez Cloud VPN pour vous connecter à Google Cloud assurez-vous d'annoncer également la plage d'adresses IP allouée pour les Accès aux services au routeur pair via le protocole BGP (Border Gateway Protocol). Pour en savoir plus, consultez Spécifier des annonces sur un routeur Cloud Router.

  • Vous avez spécifié une adresse et un masque incorrects dans les routes de destination. Ensure que les bits masqués sont nuls lors de la fourniture de l'adresse. Par exemple, 10.0.10.1 est une adresse non valide à fournir avec un masque de réseau 255.255.255.0 (/24). L'adresse correcte est 10.0.10.0.

  • Conflits d'adresses IP possibles entre la plage d'adresses IP allouée pour l'accès aux services privés et les sous-réseaux IP utilisés par le réseau hébergeant l'application. Assurez-vous que ces plages sont mutuellement exclusives. Ce problème survient le plus souvent lorsque l'application est hébergée sur un réseau autre que Google Cloud.

Vous recevez le message Unable to connect to the network

Si le message Unable to connect to the network. Check your network connection and try again. s'affiche, cela signifie que la connexion Internet de votre appareil n'est pas active.

Résolution: vérifiez que votre connexion Internet est active, puis essayez à nouveau de vous connecter.

Journaux d'audit

Si vous êtes administrateur, vous pouvez consulter les journaux d'audit Chrome Enterprise Premium, y compris les journaux d'audit du connecteur client, sur la page Journalisation de la console Google Cloud. Pour en savoir plus, consultez Journalisation des audits du service Chrome Enterprise Premium.

Si vous êtes un utilisateur final, vous pouvez accéder aux journaux de connexion en procédant comme suit :

  1. Effectuez un clic droit sur l'extension Endpoint Verification dans le navigateur.
  2. Cliquez sur Options.
  3. Sélectionnez la précision pour le niveau de journalisation. Par défaut, le niveau de précision est défini sur Infos.
  4. Cliquez sur Afficher le journal.

Étape suivante