Cette page explique comment activer l'accès basé sur les certificats (CBA) avec vos certificats d'entreprise.
Si vous ne disposez pas d'infrastructure à clé publique (PKI), vous pouvez utiliser les certificats provisionnés par Endpoint Verification.
Une exigence importante du modèle d'accès zéro confiance consiste à n'autoriser l'accès qu'aux appareils autorisés. L'accès basé sur les certificats de l'accès contextuel utilise des certificats et leurs clés privées stockées dans un keystore sécurisé sur l'appareil pour déterminer si l'appareil est autorisé. Pour activer cette fonctionnalité, suivez les procédures ci-dessous.
Avant de commencer
Assurez-vous d'avoir créé des niveaux d'accès basés sur les certificats pour votre Google Cloud projet. Si vous devez créer des niveaux d'accès, consultez Créer des niveaux d'accès pour l'accès basé sur les certificats.
Assurez-vous d'appliquer l'accès basé sur les certificats à vos Google Cloud ressources à l'aide de l'une des méthodes suivantes :
(Recommandé) Appliquez l'accès basé sur les certificats avec des règles d'accès contextuel: configurez des règles concernant les utilisateurs.
Appliquez l'accès basé sur les certificats avec VPC Service Controls: Configurez des règles concernant les données.
Lorsque vous appliquez l'accès basé sur les certificats à vos Google Cloud ressources, l'accès à vos Google Cloud ressources nécessite qu'un utilisateur autorisé présente également un certificat d'appareil valide.
Importer les ancres de confiance
Pour autoriser l'accès contextuel à collecter et à valider le certificat d'entreprise d'un appareil, vous devez importer les ancres de confiance utilisées pour émettre le certificat de l'appareil. Les ancres de confiance correspondent au certificat CA racine autosigné et aux certificats intermédiaires et subordonnés pertinents. Pour importer les ancres de confiance, procédez comme suit :
Dans la console d'administration Google, accédez à Appareils > Réseaux > Certificats, puis sélectionnez l'unité organisationnelle pour laquelle importer les ancres de confiance. Assurez-vous que l'unité organisationnelle que vous sélectionnez contient les utilisateurs auxquels vous souhaitez accorder l'accès.
Sélectionnez Ajouter un certificat, puis saisissez un nom pour votre certificat racine.
Cliquez sur Importer pour importer le certificat.
Sélectionnez Activer Endpoint Verification, puis cliquez sur Ajouter.
Le certificat à importer doit être le certificat CA, qui est l'émetteur des certificats client installés sur vos appareils d'entreprise. Si votre entreprise ne dispose pas de certificat CA ni des certificats client correspondants, vous pouvez les créer via le Google Cloud service Certificate Authority. La procédure d'installation des certificats client dans les keystores natifs diffère pour chaque système d'exploitation et ne fait pas l'objet de ce document.
Configurer le navigateur Chrome des utilisateurs pour qu'il utilise votre certificat d'entreprise
Suivez les instructions de la section Configurer Endpoint Verification pour installer l'extension Endpoint Verification pour Chrome pour tous les utilisateurs de votre organisation. Cette extension synchronise les métadonnées du certificat avec le backend de Google Cloud.
Une fois l'extension de navigateur configurée, configurez la règle Chrome AutoSelectCertificateForURLs pour autoriser Endpoint Verification à rechercher le certificat de l'appareil et à le collecter via Chrome.
Assurez-vous que la gestion cloud du navigateur Chrome gère le navigateur Chrome des utilisateurs.
Dans la console d'administration, ajoutez la règle
AutoSelectCertificateForUrls:Accédez à Appareils > Chrome > Paramètres > Paramètres utilisateur et 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":"CERT_ISSUER"}}} {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}} {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}}Dans l'exemple,
CERT_ISSUERest le nom commun de votre certificat CA.
Après cette configuration, les utilisateurs peuvent accéder aux ressources protégées Google Cloud avec le navigateur Chrome sur console-secure.cloud.google.com.
Vérifier la configuration des règles (facultatif)
Dans le navigateur Chrome, saisissez
chrome://policy.Vérifiez que
AutoSelectCertificateForUrlsest répertorié 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 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 pour qu'ils utilisent votre certificat d'entreprise
Si les utilisateurs de votre organisation doivent accéder aux Google Cloud ressources à partir de la ligne de commande, ils doivent suivre les procédures ci-dessous pour activer l'accès basé sur les certificats avec votre certificat d'entreprise dans leurs outils de ligne de commande.
Les outils de ligne de commande compatibles incluent les suivants :
Google Cloud CLI
Terraform CLI (gcloud CLI est requis pour installer et configurer les composants d'assistance).
Étant donné que les certificats d'appareil sont stockés dans des keystores natifs, Google Cloud CLI est fourni avec un composant Open Source appelé 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++.
Les systèmes d'exploitation compatibles et leurs keystores intégrés respectifs incluent les suivants :
macOS avec porte-clés
Microsoft Windows avec CryptoAPI
Linux avec PKCS #11
ECP doit être configuré avec les informations de métadonnées nécessaires pour localiser le certificat dans les keystores.
Installer et configurer ECP avec Google Cloud CLI
Installez Google Cloud CLI et activez l'accès basé sur les certificats. Installez-le avec l'option
bundled pythonactivée.Pour macOS et Linux, exécutez le script
install.shaprès l'avoir téléchargé :$ ./google-cloud-sdk/install.shInstallez le composant d'assistance ECP avec Google Cloud CLI :
gcloud components install enterprise-certificate-proxyInitialisez la configuration du certificat ECP avec Google Cloud CLI :
Linux
$ gcloud auth enterprise-certificate-config create linux
--label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>
Exemple :
$ gcloud auth enterprise-certificate-config create linux
--label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567
macOS
$ gcloud auth enterprise-certificate-config create macos
--issuer=<CERT_ISSUER>
Exemple :
$ gcloud auth enterprise-certificate-config create macos
--issuer="Google Endpoint Verification"
Windows
$ gcloud auth enterprise-certificate-config create windows
--issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>
Exemple :
$ gcloud auth enterprise-certificate-config create windows
--issuer="Google Endpoint Verification" --provider=current_user --store=MY
La configuration ECP peut également être configurée manuellement. Elle est stockée sous forme de fichier JSON à l'emplacement suivant sur l'appareil de l'utilisateur :
Linux et macOS :
~/.config/gcloud/certificate_config.jsonWindows:
%APPDATA%\gcloud\certificate_config.json
Consultez la documentation ECP sur GitHub pour obtenir d'autres exemples de configuration et de schéma.
Linux
{
"cert_configs": {
"pkcs11": {
"label": "<CERT_LABEL>",
"slot": "<SLOT_ID>",
"module": "<PKCS11_MODULE_PATH>"
}
},
"libs": {
"ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
"ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
"tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
}
}
macOS
{
"cert_configs": {
"macos_keychain": {
"issuer": "<CERT_ISSUER>"
}
},
"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
{
"cert_configs": {
"windows_store": {
"store": "MY",
"provider": "current_user",
"issuer": "<CERT_ISSUER>"
}
},
"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"
}
}
Après cette configuration, les utilisateurs peuvent accéder aux ressources protégées Google Cloud à l'aide d'outils de ligne de commande en activant l'indicateur d'accès basé sur les certificats.
Pour activer l'accès basé sur les certificats pour Google Cloud CLI, exécutez la commande suivante pour définir la propriété context_aware/use_client_certificate sur true :
$ gcloud config set context_aware/use_client_certificate true
Pour activer l'accès basé sur les certificats pour tous les autres outils de ligne de commande, y compris Terraform, définissez la variable d'environnement GOOGLE_API_USE_CLIENT_CERTIFICATE sur true.