Applications client-serveur sécurisées

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

Cette page présente les fonctionnalités avancées du connecteur client BeyondCorp Enterprise et explique comment l'activer pour sécuriser vos applications client-serveur.

Présentation

BeyondCorp Enterprise 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. BeyondCorp Enterprise utilise Chrome pour fournir un accès sécurisé à toutes les applications Web (HTTPS).

Le connecteur client BeyondCorp Enterprise prend en charge les applications non Web en créant une connexion sécurisée aux applications qui s'exécutent à la fois dans des environnements Google Cloud et non-Google Cloud, avec un accès complet au contexte et à l'identité.

Fonctionnement

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

Composants du connecteur client BeyondCorp Enterprise

Voici les principaux composants du connecteur client:

Validation des points de terminaison et agent client : ce connecteur s'intègre à la validation des points de terminaison, une extension Chrome associée à 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. La validation des points de terminaison fait également office de plan de contrôle pour permettre à l'utilisateur final de démarrer et d'arrêter les connexions aux passerelles client.

Passerelles clientes: 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 BeyondCorp Enterprise pour appliquer les vérifications contextuelles. Le système d'application BeyondCorp Enterprise utilise Identity-Aware Proxy et Access Context Manager, un moteur de règles "zéro confiance" flexible BeyondCorp Enterprise.

Le connecteur client envoie le trafic à vos applications protégées depuis l'utilisateur final, le client ou les appareils via un canal sécurisé ou 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 sont pas dans Google Cloud.

Avant de commencer

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

Activer le connecteur client BeyondCorp Enterprise

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 consommateur.

Console

  1. L'accès aux services privés nécessite que vous réservez une plage d'adresses IP afin qu'il n'y ait pas de conflits d'adresses IP entre votre réseau VPC et le réseau VPC géré par Google. Procédez comme suit pour allouer une plage d'adresses IP:

    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 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'ouvre, laissez la valeur par défaut Connected Service Producer. Dans le champ 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 Effacer les métadonnées.
    5. Spécifiez le réseau connecté à votre application.
    6. Spécifiez la priorité de la règle. Plus la valeur est faible, plus la priorité est élevée.
    7. Pour le champ Sens du trafic, sélectionnez Entrée.
    8. Pour 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. Utilisez le format 0.0.0.0/0 pour n'importe quelle source IPv4.
    11. Dans 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 que vous réservez une plage d'adresses IP afin qu'il n'y ait pas de conflits 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 de votre projet qui héberge le projet 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 de votre projet qui héberge le projet CONSUMER_NETWORK.
    • RESERVED_RANGE: nom de la 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 la plage réservée pour l'appairage de VPC.
    • CONSUMER_PROJECT: ID de votre projet qui héberge le projet CONSUMER_NETWORK.
  4. Utilisez les valeurs address et prefixLength de la sortie 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 de votre projet qui héberge le projet CONSUMER_NETWORK.

Pour savoir comment configurer des règles de pare-feu, consultez Utiliser des règles de pare-feu VPC.

Configurer les ressources du connecteur client

Vous devez configurer deux types de ressources:

  • Service du connecteur client : définit une configuration commune pour un groupe de passerelles client.
  • Passerelle client: désigne le 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 passerelle cliente 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 les ressources de votre passerelle et de votre service de connecteur client: 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 CLIENT.

  3. Saisissez 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 auxquelles le connecteur client doit accéder.

  6. Cliquez sur ACTIVER LE CLIENT CONNECTEUR. 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 projet 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 d'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 d'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_PROJECT : ID de votre projet qui héberge le projet 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 de 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 être répertorié dans la section Connecteur client et une coche verte doit indiquer 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 de votre projet qui héberge le projet 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 projet 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 située à côté du 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 hébergeant les applications, puis cliquez sur METTRE À JOUR LE CONNECTEUR DE 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 de votre projet qui héberge le projet CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle se trouve le 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, NEW_DESTINATION_MASK2 : masques de nouveau 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 projet CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle se trouve le service de 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, NEW_DESTINATION_MASK2 : masques de nouveau 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 Corbeille pour supprimer le service et les passerelles du 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 de votre projet qui héberge le projet 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 projet CONSUMER_NETWORK.
  • SERVICE_LOCATION : région dans laquelle se trouve le service de connecteur client.
  • CLIENT_CONNECTOR_SERVICE_NAME: nom de votre service de connecteur client.

Créer, vérifier ou supprimer des passerelles client

Console

  1. Si vous utilisez la console pour configurer le connecteur client, celles-ci sont créées lors de la création du service du connecteur client à une étape précédente.

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

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

      Accéder à IAP

    2. Cliquez sur CONNECTEURS. Votre connecteur, ainsi que les passerelles associées, doivent être répertoriés dans la section Connecteur client, et une coche verte doit s'afficher pour leur état.
  3. Facultatif: Pour supprimer une passerelle cliente, 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 du connecteur en décochant la case de la région dans la liste déroulante Régions de la passerelle, puis cliquez sur METTRE À JOUR LE CONNECTEUR CLIENT.

gcloud

  1. Créez une passerelle cliente.

    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 cliente.
    • CONSUMER_PROJECT: ID de votre projet qui héberge le projet CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle créer la passerelle cliente.
    • 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 client sont opérationnelles.

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

    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 cliente.
  3. Facultatif: Supprimez une passerelle cliente.

    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 cliente.
    • CONSUMER_PROJECT : ID de votre projet qui héberge le CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle se trouve la passerelle cliente.

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 projet CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle se trouve le service de connecteur client.
    • CLIENT_CONNECTOR_SERVICE_NAME: nom de votre service de connecteur client.
    • GATEWAY_LOCATION : région dans laquelle créer la passerelle cliente.
    • CLIENT_GATEWAY_NAME : nom de votre passerelle cliente.

    Cette étape peut prendre quelques minutes.

  2. Vérifiez que les passerelles client 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 projet CONSUMER_NETWORK.
    • GATEWAY_LOCATION: région dans laquelle se trouve la passerelle cliente.
  3. Facultatif: Supprimez une passerelle cliente.

    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 projet CONSUMER_NETWORK.
    • GATEWAY_LOCATION : région dans laquelle se trouve la passerelle du connecteur client.
    • CLIENT_GATEWAY_NAME: nom de votre passerelle cliente.

Configurer des règles d'accès contextuel

  1. Déterminez les comptes principaux ou créez un groupe d'utilisateurs. Identifiez les utilisateurs ayant 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 d'accès contextuel, que vous pouvez utiliser pour restreindre l'accès à votre application.

  3. Configurez une stratégie IAM pour la ressource du service de connecteur client, et accordez au compte principal ou au groupe d'utilisateurs le rôle Utilisateur du service de connecteur client Cloud BeyondCorp (roles/beyondcorp.clientConnectorServiceUser) 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 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 LA 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 provisionner le rôle uniquement lorsque le niveau d'accès est satisfait. Pour spécifier un niveau d'accès, vous devez être un 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, puis, dans la liste Resource (Ressource), développez la section Non-Web Applications (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'affiche.

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 de votre projet qui héberge le projet CONSUMER_NETWORK.
    • SERVICE_LOCATION: région dans laquelle se trouve le service de connecteur client.
  2. Modifiez la règle 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 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 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 de votre projet qui héberge le projet 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.
  2. Modifiez la règle 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 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 de votre service de connecteur client.

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

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

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

Lorsqu'un utilisateur établit une connexion pour la première fois, Endpoint Verification lui demande de télécharger et d'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 TERMINER LA CONNEXION.

Dépannage

Si vous rencontrez des problèmes lors de l'utilisation du connecteur client, suivez les étapes de dépannage ci-dessous pour tenter 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 a bien été établie, mais vous ne pouvez toujours pas accéder à votre application.

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

  • 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 non Google Cloud, veillez à annoncer également 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 en savoir plus sur la procédure à suivre, consultez la page Spécifier des annonces sur un routeur Cloud Router.

  • Vous avez spécifié une adresse et un masque incorrects dans les itinéraires de destination. Assurez-vous que les bits masqués sont nuls 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). La bonne adresse est 10.0.10.0.

  • Les éventuels conflits d'adresses IP 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 réessayez de vous connecter.

Journaux d'audit

Si vous êtes administrateur, vous pouvez afficher les journaux d'audit BeyondCorp Enterprise, 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 BeyondCorp Enterprise.

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 le niveau de précision du niveau de journalisation. Par défaut, le niveau de précision est défini sur Infos.
  4. Cliquez sur Afficher le journal.

Étapes suivantes