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 :
Vous avez créé des niveaux d'accès CBA pour votre projet Google Cloud .
Vous pouvez appliquer l'accès basé sur le contexte à vos ressources Google Cloud à l'aide de l'une des méthodes suivantes :
- (Recommandé) Configurez des règles pour les utilisateurs en appliquant un accès basé sur les certificats avec les règles d'accès contextuel.
- Configurez des règles autour des données en appliquant un accès basé sur les certificats avec VPC Service Controls.
Vous êtes autorisé à suivre la procédure de connexion mTLS à l'aide d'un certificat client valide.
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.
- Assurez-vous que le navigateur Chrome des utilisateurs est géré par la gestion cloud du navigateur Chrome.
Dans la console d'administration Google, ajoutez la règle AutoSelectCertificateForUrls.
- Accédez à Appareils> Chrome> Paramètres> Paramètres des utilisateurs et du navigateur> Certificats client.
- Sélectionnez l'unité organisationnelle appropriée.
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
- Dans le navigateur Chrome, saisissez
chrome://policy
. - Vérifiez que AutoSelectCertificateForUrls est listé sous Règles Chrome.
- Vérifiez que la valeur de S'applique à est Machine. Sur ChromeOS, la valeur de S'applique à est Utilisateur actuel.
- 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++.
- Installez la CLI gcloud. Installez-le en activant l'option Python groupé.
- Activez la CBA.
Pour macOS et Linux, téléchargez, puis exécutez le script
install.sh
../google-cloud-sdk/install.sh
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.
Installez le composant d'assistance ECP avec la gcloud CLI.
gcloud components install enterprise-certificate-proxy
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" } }
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 .
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)
Suivez les étapes des procédures précédentes.