Cette page explique comment activer l'accès basé sur des certificats (CBA) avec vos certificats d'entreprise.
Une exigence importante du modèle d'accès zéro confiance consiste à n'autoriser l'accès qu'aux appareils autorisés. BeyondCorp Enterprise CBA utilise les certificats et leurs clés privées stockées dans un keystore sécurisé sur l'appareil pour déterminer s'il est autorisé. Pour activer cette fonctionnalité, procédez comme suit :
Avant de commencer
Assurez-vous d'avoir créé des niveaux d'accès CBA pour votre projet Google Cloud. Si vous devez créer des niveaux d'accès, consultez Créer des niveaux d'accès pour les accès basés sur des certificats.
Assurez-vous d'appliquer la CBA à vos ressources Google Cloud à l'aide de l'une des méthodes suivantes:
Appliquer l'accès basé sur des certificats avec VPC Service Controls : configurez des règles liées aux données.
Appliquer l'accès basé sur des certificats avec des groupes d'utilisateurs : configurez des règles en fonction des utilisateurs.
Lorsque vous appliquez la CBA à vos ressources Google Cloud, l'accès à vos ressources Google Cloud nécessite qu'un utilisateur autorisé présente également un certificat d'appareil valide.
Importer les ancres de confiance
Pour permettre à BeyondCorp Enterprise de 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 sont le certificat CA racine autosigné et les 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 vous souhaitez importer les ancres de confiance. Assurez-vous que l'unité organisationnelle sélectionnée 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 la validation des points de terminaison, 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 encore d'un certificat CA et des certificats client correspondants, vous pouvez les créer via le service d'autorité de certification Google Cloud. La procédure d'installation des certificats client dans des keystores natifs est différente pour chaque système d'exploitation et n'est pas traitée dans ce document.
Configurer le navigateur Chrome des utilisateurs pour utiliser votre certificat d'entreprise
Suivez les instructions de la section Configurer la validation des points de terminaison pour installer l'extension Endpoint Verification pour Chrome pour tous les utilisateurs de votre organisation. Elle permet de synchroniser les métadonnées de certificat avec le backend de Google Cloud.
Après avoir configuré l'extension de navigateur, configurez la règle Chrome AutoSelectCertificateForURLs
pour permettre à la validation des points de terminaison 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, 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":<CERT_ISSUER>}}} {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
Dans cet exemple,
CERT_ISSUER
est le nom commun de votre certificat CA.
Après cette configuration, les utilisateurs peuvent accéder aux ressources Google Cloud protégées à l'aide du 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
AutoSelectCertificateForUrls
figure dans la section Règles Chrome.Vérifiez que la valeur de Applicable à est Machine. Sur le système d'exploitation Chrome, la valeur de S'applique à est Utilisateur actuel.
Assurez-vous que l'état de la règle ne comporte pas de conflit. En cas de conflit, consultez Comprendre la gestion des règles Chrome pour en savoir plus.
Configurer les outils de ligne de commande pour utiliser votre certificat d'entreprise
Si les utilisateurs de votre organisation doivent accéder aux ressources Google Cloud à partir de la ligne de commande, ils doivent suivre les procédures suivantes pour activer la CBA avec votre certificat d'entreprise dans leurs outils de ligne de commande.
Les outils de ligne de commande suivants sont compatibles:
Google Cloud CLI
La CLI Terraform (gcloud CLI est toujours nécessaire 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.
Les systèmes d'exploitation suivants et leurs keystores natifs respectifs sont compatibles:
macOS avec un trousseau
Microsoft Windows avec CryptoAPI
Linux avec PKCS #11
L'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 CBA. Effectuez l'installation en activant l'option
bundled python
.Pour macOS et Linux, exécutez le script
install.sh
après l'avoir téléchargé:$ ./google-cloud-sdk/install.sh
Installez le composant d'assistance ECP avec Google Cloud CLI:
gcloud components install enterprise-certificate-proxy
Initialisez 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 définie manuellement. Il est stocké sous forme de fichier JSON à l'emplacement suivant sur l'appareil de l'utilisateur:
Linux et macOS:
~/.config/gcloud/certificate_config.json
Windows :
%APPDATA%\gcloud\certificate_config.json
Consultez la documentation ECP sur GitHub pour 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 Google Cloud protégées à l'aide des outils de ligne de commande en activant l'option CBA.
Afin d'activer la CBA pour Google Cloud CLI, définissez la propriété context_aware/use_client_certificate
sur true
.
Pour activer la CBA 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
.