Applications client-serveur sécurisées

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 avec une protection intégrée contre les menaces et la compromission des données. Chrome Enterprise Premium utilise Chrome pour fournir un accès sécurisé à toutes les applications Web (HTTPS).

Le connecteur client Chrome Enterprise Premium étend la compatibilité aux applications non Web en créant une connexion sécurisée avec les applications s'exécutant dans des environnements Google Cloud et autres que Google Cloud, avec un accès contextuel complet et un accès basé sur l'identité.

Fonctionnement

Le schéma suivant présente l'architecture du connecteur client.

Composants du connecteur client Chrome Enterprise Premium

Voici les principaux composants qui composent le connecteur client:

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

Passerelles clientes: composants régionaux côté serveur auxquels les clients peuvent se connecter. Les passerelles client sont déployées par les administrateurs. Elles communiquent avec le système d'application forcée de Chrome Enterprise Premium pour mettre en place des contrôles contextuels. Le système d'application forcée de Chrome Enterprise Premium utilise Identity-Aware Proxy et Access Context Manager, un moteur de règles zéro confiance flexible de Chrome Enterprise Premium.

Le connecteur client envoie le trafic des utilisateurs finaux, des clients et des appareils vers vos applications protégées via un canal sécurisé (passerelle). Vous pouvez vous connecter à des applications Web et non Web s'exécutant dans Google Cloud ou en dehors de Google Cloud. Vous pouvez utiliser Cloud VPN ou Cloud Interconnect pour vous connecter à vos applications en dehors de 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 activer la connectivité entre le réseau VPC géré par Google et le réseau VPC consommateur. 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 nécessite de réserver une plage d'adresses IP afin d'éviter tout conflit d'adresses IP entre votre réseau VPC et le réseau VPC 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éez une connexion d'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 du connecteur client.
    6. Dans la fenêtre qui s'affiche, conservez la valeur par défaut pour Connected Service Producer (Producteur de service connecté). Pour l'allocation attribuée, sélectionnez la plage allouée 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. Dans Action en cas de correspondance, sélectionnez Autoriser.
    9. Pour les Cibles, sélectionnez Toutes les instances du réseau.
    10. Dans le champ 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. Utilisez le format 0.0.0.0/0 pour toutes les sources IPv4.
    11. Dans le champ Protocoles et ports, sélectionnez Tout autoriser pour que la règle s'applique à tous les protocoles et ports de destination.
    12. Cliquez sur CRÉER.

gcloud

  1. L'accès aux services privés nécessite de réserver une plage d'adresses IP afin d'éviter tout conflit 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'appairage de 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 du 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 votre plage réservée pour l'appairage 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 votre plage réservée pour l'appairage de VPC.
    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK.
  4. Utilisez les valeurs address et prefixLength du résultat de l'étape précédente pour représenter la plage d'adresses IP allouée au format CIDR, puis créez 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 du projet qui héberge le CONSUMER_NETWORK.

Pour en savoir plus sur la configuration des règles de pare-feu, consultez la page 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 passerelles client.
  • Passerelle cliente: fait référence au service du connecteur client et contrôle les régions dans lesquelles vous souhaitez gérer le trafic utilisateur.

Vous ne pouvez utiliser qu'un seul service de connecteur client par domaine et une passerelle cliente par région et par service de connecteur client. De plus, vous ne pouvez héberger vos ressources de service de connecteur client et de passerelle que dans les régions suivantes: asia-east1, europe-west1, us-east1 et us-central1.

Créer le service du 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 client sont créées à cette étape. Vous n'avez donc pas besoin de les créer lors de la procédure Créer, vérifier ou supprimer des passerelles client.

  5. Saisissez la plage d'adresses IP des applications auxquelles le connecteur client doit accéder.

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

gcloud

Exécutez la commande ci-dessous.

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 du projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION: région dans laquelle créer le service de connecteur client. Vous pouvez spécifier que l'une des régions suivantes est disponible: 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 réseau du sous-réseau de destination qui héberge 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 ci-dessous.

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 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 réseau du sous-réseau de destination qui héberge l'application. Par exemple, si votre application utilise 10.0.0.0/28, le masque est 255.255.255.240.
  • CONSUMER_PROJECT: ID du 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 service de connecteur client.

Vérifiez que le service du connecteur client a été créé en répertoriant 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 présenter une coche verte pour son état.

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 du 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 ci-dessous.

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 du projet qui héberge le CONSUMER_NETWORK.
  • SERVICE_LOCATION: région dans laquelle se trouve le service du connecteur client.

Facultatif: Mettre à jour un service de connecteur client

Console

Mettez à jour les routes de destination en procédant 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é du connecteur client que vous souhaitez mettre à jour.

  4. Saisissez les nouvelles adresses d'hôte et les nouveaux masques de réseau des sous-réseaux de destination hébergeant 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 se trouve le service du connecteur client.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2 : nouvelles adresses hôtes des sous-réseaux de destination hébergeant les applications.
  • NEW_DESTINATION_MASK1 et 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 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 de votre service de connecteur client.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2 : nouvelles adresses hôtes des sous-réseaux de destination hébergeant les applications.
  • NEW_DESTINATION_MASK1 et NEW_DESTINATION_MASK2: 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 de la corbeille pour supprimer le service du connecteur client et les passerelles. 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 du 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 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 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 clientes sont créées en même temps que la création du service de connecteur client, précédemment effectuée.

  2. Pour vérifier que les passerelles de client 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 doivent figurer dans la section Connecteur client et une coche verte doit indiquer son état.
  3. Facultatif: Pour supprimer une passerelle de 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é du connecteur client pour lequel vous souhaitez supprimer une passerelle.

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

gcloud

  1. Créez une passerelle de 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 du projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle créer la passerelle client.
    • SERVICE_LOCATION: région dans laquelle se trouve le service du 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 de 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 de client.
    • CONSUMER_PROJECT: ID du projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle se trouve la passerelle de 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 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 de votre service de connecteur client.
    • GATEWAY_LOCATION: région dans laquelle créer la passerelle de client.
    • CLIENT_GATEWAY_NAME: nom de votre passerelle de 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 du projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle se trouve la passerelle de client.
  3. Facultatif: supprimez une passerelle de 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 du 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 contextuel

  1. Déterminez les comptes 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éez 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. Configurez une stratégie IAM pour la ressource de service du connecteur client et 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 ne provisionner le rôle que lorsqu'un niveau d'accès est satisfait. 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 la section CONNECTER UNE NOUVELLE 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 ne provisionner le rôle que 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 des autorisations view et edit sur les 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. Dans la liste Ressource, développez Applications non Web.
  3. Sélectionnez votre connecteur client. Une section contenant les autorisations IAM associées au 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 stratégie IAM existante pour la ressource du service de 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 du projet qui héberge le CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle se trouve le service de connecteur client.
  2. Modifiez la stratégie renvoyée. Mettez à jour les liaisons dans policy.json pour inclure la nouvelle attribution de rôle IAM. Vous pouvez le faire dans un éditeur de 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 règle 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 du service de votre connecteur client.
    • CONSUMER_PROJECT: ID du 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 du 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 la stratégie renvoyée. Mettez à jour les liaisons dans policy.json pour inclure la nouvelle attribution de rôle IAM. Vous pouvez le faire dans un éditeur de texte ou par programmation. 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 règle 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 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.

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

  1. Activez l'extension Endpoint Verification en suivant la procédure décrite dans la section Configurer la validation des points de terminaison sur vos appareils.

  2. Une fois que Endpoint Verification est opérationnel, l'extension Endpoint Verification affiche un bouton DÉMARRER LA CONNEXION pour l'utilisateur mis à jour. Pour accéder à l'application non Web protégée, les utilisateurs peuvent cliquer sur le bouton DÉMARRER LA CONNEXION.

Lorsqu'un utilisateur initie une connexion pour la première fois, Endpoint Verification l'invite à télécharger et à installer les binaires du connecteur client. Vous pouvez également 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 fournissent des étapes de dépannage susceptibles de les résoudre.

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 pouvez toujours pas accéder à votre application.

Vous trouverez ci-dessous les raisons les plus courantes de ce problème, ainsi que 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 à l'application autre que Google Cloud, veillez également à annoncer la plage d'adresses IP allouée pour l'accès aux services privés au routeur pair via le protocole BGP (Border Gateway Protocol). Pour savoir comment procéder, consultez la section Spécifier des annonces sur un routeur cloud.

  • Vous avez spécifié une adresse et un masque incorrects dans les itinéraires de destination. Assurez-vous que les bits masqués sont à zéro lorsque vous fournissez 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 éventuels 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 s'excluent mutuellement. 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 vous recevez le message Unable to connect to the network. Check your network connection and try again., cela signifie que la connexion Internet de votre appareil n'est pas active.

Résolution: assurez-vous que votre connexion Internet est active, puis essayez de vous reconnecter.

Journaux d'audit

Si vous êtes administrateur, vous pouvez consulter les journaux d'audit Chrome Enterprise Premium, y compris les journaux d'audit des connecteurs client, sur la page Journalisation de la console Google Cloud. Pour en savoir plus, consultez Journaux d'audit 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. Dans le navigateur, effectuez un clic droit sur l'extension Endpoint Verification.
  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.

Étapes suivantes