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 (CBA, certificate-based access) avec vos certificats provisionnés 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 l'authentification par certificat sans infrastructure PKI. Ces certificats sont stockés dans le trousseau d'accès sur macOS, dans les magasins de certificats sur Windows et dans les systèmes de fichiers sur 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'authentification basée sur les certificats.

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

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

Si votre système d'exploitation ne figure pas dans la liste, consultez 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 auto-signés sur vos appareils et synchronise les métadonnées des certificats avec Google Cloud.

Installez l'application d'assistance Endpoint Verification. Cette application est requise pour utiliser la validation des points de terminaison avec l'authentification basée sur les certificats.

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 afin de 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 que 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. Vérifiez que l'état de la règle n'indique pas de conflit. Si l'état indique un 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 qu'ils utilisent les certificats provisionnés par Endpoint Verification :

  • Google Cloud CLI
  • Terraform CLI (gcloud CLI 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 gcloud CLI 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-le en activant l'option Python groupé.
  2. Activez la CBA.
  3. Pour macOS et Linux, téléchargez, puis exécutez le script install.sh.

    ./google-cloud-sdk/install.sh
    
  4. Si vous utilisez Linux, passez à l'étape Activer l'authentification basée sur les certificats et les certificats provisionnés pour la validation des points de terminaison . Si vous utilisez macOS ou Windows, suivez les étapes ci-dessous.

    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 manuellement le certificat ECP 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 l'authentification basée sur les certificats et les certificats provisionnés pour la validation des points de terminaison.

    • Pour gcloud CLI, 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 qui ne sont pas 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 pour la validation des points de terminaison, vous pouvez exempter les environnements de l'application basée sur les certificats et les protéger à l'aide d'autres types d'application. Par exemple, en utilisant une règle pour les appareils appartenant à l'entreprise.

Notez que l'application basée sur les certificats offre une protection plus forte 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 montrant comment exempter des environnements de l'application basée sur les certificats et les protéger à l'aide d'un autre type d'application.

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

  1. Créez un niveau d'accès qui applique l'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 Endpoint Verification