Activer l'accès basé sur des certificats avec des certificats de validation des points de terminaison

Cette page explique comment activer l'accès basé sur les certificats avec vos certificats provisionnés pour Endpoint Verification.

Vous pouvez utiliser la validation des points de terminaison pour provisionner automatiquement des certificats autosignés pour un appareil. Les certificats provisionnés pour la validation des points de terminaison vous permettent d'utiliser la CBA sans infrastructure PKI. Ces certificats sont stockés dans un trousseau de clés sous macOS, dans des magasins de certificats sous Windows et dans des systèmes de fichiers sous Linux.

Si vous disposez d'une infrastructure PKI, consultez Activer l'accès basé sur les certificats avec vos certificats d'entreprise pour activer l'accès basé sur les certificats.

Vous pouvez activer les certificats provisionnés pour Endpoint Verification sur les systèmes d'exploitation suivants:

  • macOS et Windows avec le navigateur Chrome
  • macOS, Windows et Linux à l'aide de la Google Cloud CLI

Si votre système d'exploitation ne figure pas dans la liste, consultez la section Utiliser des systèmes d'exploitation non entièrement compatibles.

Avant de commencer

Avant de continuer, assurez-vous de remplir les conditions suivantes:

Configurer la validation des points de terminaison

Suivez les instructions pour installer l'extension Chrome Endpoint Verification sur tous les appareils des utilisateurs de votre organisation. L'extension provisionne des certificats autosignés sur vos appareils et synchronise les métadonnées de certificat avec Google Cloud.

Installez l'application d'assistance Endpoint Verification. Cette application est requise pour utiliser la validation des points de terminaison avec CBA.

Configurer le navigateur Chrome des utilisateurs

Pour configurer le navigateur Chrome des utilisateurs afin qu'il utilise les certificats provisionnés par Endpoint Verification, vous devez configurer la règle Chrome AutoSelectCertificateForURLs pour permettre à Endpoint Verification de rechercher le certificat de l'appareil et de le collecter via Chrome.

  1. Assurez-vous que le navigateur Chrome des utilisateurs est géré par la gestion cloud du navigateur Chrome.
  2. Dans la console d'administration Google, ajoutez la règle AutoSelectCertificateForUrls.

    1. Accédez à Appareils > Chrome > Paramètres > Paramètres des utilisateurs et du navigateur > Certificats client.
    2. Sélectionnez l'unité organisationnelle appropriée.
    3. Ajoutez une règle. L'exemple suivant ajoute la règle AutoSelectCertificateForUrls:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

Une fois la configuration terminée, les utilisateurs peuvent accéder aux ressourcesGoogle Cloud protégées avec le navigateur Chrome à l'adresse console-secure.cloud.google.com.

(Facultatif) Vérifier la configuration des règles

  1. Dans le navigateur Chrome, saisissez chrome://policy.
  2. Vérifiez qu'AutoSelectCertificateForUrls est listé sous Règles Chrome.
  3. Vérifiez que la valeur de S'applique à est Machine. Sur ChromeOS, la valeur de S'applique à est Utilisateur actuel.
  4. Assurez-vous que l'état de la règle ne présente pas de conflit. Si l'état est en conflit, consultez Fonctionnement de la gestion des règles Chrome pour en savoir plus.

Configurer les outils de ligne de commande

Vous pouvez configurer les outils suivants pour utiliser les certificats provisionnés par Endpoint Verification:

  • Google Cloud CLI
  • La CLI Terraform (la CLI gcloud est nécessaire pour installer et configurer les composants d'assistance).

Étant donné que les certificats d'appareil sont stockés dans les keystores macOS et Windows, la CLI gcloud est fournie avec le composant Open Source Enterprise Certificate Proxy (ECP) pour interagir avec les API de gestion des clés.

Si vous utilisez un système Windows, vous devez avoir installé la bibliothèque d'exécution Visual Studio C++.

  1. Installez la CLI gcloud. Installez avec l'option Python groupée activée.
  2. Activez la CBA.
  3. Pour macOS et Linux, téléchargez et exécutez le script install.sh.

    ./google-cloud-sdk/install.sh
    
  4. Pour les utilisateurs Linux, passez à l'étape Activer les certificats provisionnés pour la CBA et la validation des points de terminaison . Pour les utilisateurs macOS et Windows, procédez comme suit.

    1. Installez le composant d'assistance ECP avec la gcloud CLI.

      
      gcloud components install enterprise-certificate-proxy
      
    2. Initialisez la configuration du certificat ECP avec la gcloud CLI.

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (Facultatif) Configurez le certificat ECP manuellement en exécutant la commande suivante.

      macOS

      La configuration ECP est stockée dans un fichier JSON, situé dans ~/.config/gcloud/certificate_config.json.

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "libs": {
          "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
          "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
          "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
        }
      }
      

      Windows

      La configuration ECP est stockée dans un fichier JSON, situé dans %APPDATA%\gcloud\certificate_config.json.

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "libs": {
          "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
          "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
          "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
        }
      }
      
  5. Activez les certificats provisionnés pour la CBA et la validation des points de terminaison.

    • Pour la CLI gcloud, exécutez la commande suivante.

      gcloud config set context_aware/use_client_certificate true
      
    • Pour tous les autres outils de ligne de commande, y compris Terraform, définissez la variable d'environnement.

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
      

Utiliser des systèmes d'exploitation non entièrement compatibles

Si votre système d'exploitation ne figure pas dans la liste des systèmes d'exploitation compatibles et que vous souhaitez utiliser des certificats provisionnés par la validation de point de terminaison, vous pouvez exempter les environnements de l'application de la loi basée sur les certificats et les protéger à l'aide d'autres types d'application de la loi. Par exemple, en utilisant une stratégie d'appareil détenu par l'entreprise.

Notez que l'application basée sur les certificats offre une protection plus efficace que les autres types d'application, car elle applique chaque requête provenant d'un appareil via le handshake mTLS.

Vous trouverez ci-dessous un exemple d'exemption d'environnements de l'application basée sur les certificats et de leur protection à l'aide d'un autre type d'application.

Dans cet exemple, une entreprise utilise des appareils macOS, Windows et ChromeOS. L'entreprise souhaite protéger l'accès provenant de la console Google Cloud.

  1. Créez un niveau d'accès qui applique un accès basé sur les certificats pour tous les appareils, à l'exception des appareils ChromeOS pour lesquels une règle relative aux appareils détenus par l'entreprise est requise. Remplacez le fichier YAML par l'expression personnalisée suivante:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. Suivez les étapes des procédures précédentes.

    1. Créer une règle contextuelle
    2. Configurer la validation des points de terminaison
    3. Configurer le navigateur Chrome des utilisateurs pour qu'il utilise les certificats provisionnés par Endpoint Verification