In questa pagina viene descritto come attivare l'accesso basato su certificati (CBA) con i certificati di cui è stato eseguito il provisioning di Verifica degli endpoint.
Puoi utilizzare la verifica degli endpoint per eseguire automaticamente il provisioning dei certificati autofirmati per un dispositivo. I certificati di cui è stato eseguito il provisioning per la verifica degli endpoint ti consentono di utilizzare CBA senza un'infrastruttura PKI. Questi certificati sono archiviati in un portachiavi su macOS, negli archivi di certificati su Windows e in file system su Linux.
Se disponi di un'infrastruttura PKI, consulta Abilitare l'accesso basato su certificati con i certificati aziendali per abilitare CBA.
Puoi abilitare i certificati di cui è stato eseguito il provisioning per la verifica degli endpoint nei seguenti sistemi operativi:
- macOS e Windows utilizzando il browser Chrome
- macOS, Windows e Linux utilizzando Google Cloud CLI
Se il tuo sistema operativo non è presente nell'elenco, vedi Utilizzare sistemi operativi non completamente supportati.
Prima di iniziare
Prima di continuare, assicurati di soddisfare i seguenti requisiti:
Hai creato livelli di accesso CBA per il tuo progetto Google Cloud.
Puoi applicare l'CBA alle risorse Google Cloud utilizzando uno dei seguenti metodi:
- (Consigliato) Configura le regole per gli utenti applicando l'accesso basato su certificati con criteri di accesso sensibile al contesto.
- Configurare le regole relative ai dati applicando l'accesso basato su certificati con i Controlli di servizio VPC.
Disponi dell'autorizzazione per eseguire la procedura di connessione mTLS utilizzando un certificato client valido.
Configurare la verifica degli endpoint
Segui le istruzioni per installare l'estensione Chrome Endpoint Verification per tutti i dispositivi degli utenti della tua organizzazione. L'estensione esegue il provisioning di certificati autofirmati sui tuoi dispositivi e sincronizza i metadati dei certificati con Google Cloud.
Installa l'app helper Verifica degli endpoint. Questa app è necessaria per utilizzare la verifica degli endpoint con CBA.
Configura il browser Chrome degli utenti
Per configurare il browser Chrome degli utenti in modo da utilizzare i certificati di cui è stato eseguito il provisioning di Verifica degli endpoint, devi configurare il criterio di Chrome AutoSelectCertificateForURLs per consentire a Verifica degli endpoint di cercare il certificato del dispositivo e raccoglierlo tramite Chrome.
- Assicurati che il browser Chrome degli utenti sia gestito da Chrome Browser Cloud Management.
Nella Console di amministrazione Google, aggiungi il criterio AutoSelectCertificateForUrls.
- Vai a Dispositivi > Chrome > Impostazioni > Impostazioni browser e utente > Certificati client.
- Seleziona l'unità organizzativa appropriata.
Aggiungi un criterio. Nell'esempio seguente viene aggiunto il criterio 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"}}}
Una volta completata la configurazione, gli utenti possono accedere alle risorse protette di Google Cloud con il browser Chrome all'indirizzo console-secure.cloud.google.com.
(Facoltativo) Verificare la configurazione dei criteri
- Nel browser Chrome, inserisci
chrome://policy
. - Verifica che AutoSelectCertificateForUrls sia elencato sotto Criteri di Chrome.
- Verifica che il valore di Si applica a sia Macchina. Su ChromeOS, il valore di Si applica a è Utente corrente.
- Assicurati che lo stato del criterio non abbia un conflitto. Se lo stato presenta un conflitto, consulta Comprendere la gestione dei criteri di Chrome per ulteriori informazioni.
Configurazione degli strumenti a riga di comando
Puoi configurare i seguenti strumenti per utilizzare i certificati di cui è stato eseguito il provisioning per la verifica degli endpoint:
- Google Cloud CLI
- L'interfaccia a riga di comando Terraform (gcloud CLI è necessaria per installare e configurare i componenti helper.)
Poiché i certificati dei dispositivi sono archiviati negli archivi chiavi macOS e Windows, gcloud CLI è integrato nel componente open source Enterprise Certificate Proxy (ECP) per interagire con le API di gestione delle chiavi.
Se utilizzi un sistema Windows, devi avere installato la libreria di runtime di Visual Studio C++.
- Installa gcloud CLI. Esegui l'installazione con l'opzione Python in bundle abilitata.
- Attiva CBA.
Per macOS e Linux, scarica ed esegui lo script
install.sh
../google-cloud-sdk/install.sh
Se sei un utente Linux, vai al passaggio Abilita i certificati di cui è stato eseguito il provisioning per la verifica CBA ed endpoint . Gli utenti macOS e Windows devono completare i seguenti passaggi.
Installa il componente helper ECP con gcloud CLI.
gcloud components install enterprise-certificate-proxy
Inizializza la configurazione del certificato ECP con 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
(Facoltativo) Configura manualmente il certificato ECP eseguendo questo comando.
macOS
La configurazione ECP è archiviata in un file JSON in
~/.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 configurazione ECP è archiviata in un file JSON in
%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" } }
Attiva i certificati di cui è stato eseguito il provisioning per CBA ed endpoint.
Per gcloud CLI, esegui questo comando.
gcloud config set context_aware/use_client_certificate true
Per tutti gli altri strumenti a riga di comando, tra cui Terraform, imposta la variabile di ambiente.
export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
Utilizzo di sistemi operativi non completamente supportato
Se il tuo sistema operativo non è nell'elenco dei sistemi operativi supportati e vuoi utilizzare i certificati di cui è stato eseguito il provisioning di Verifica degli endpoint, puoi escludere gli ambienti dall'applicazione basata su certificati e proteggerli utilizzando altri tipi di applicazione. ad esempio usando un criterio relativo ai dispositivi di proprietà dell'azienda.
Tieni presente che l'applicazione basata su certificati offre una protezione più efficace rispetto ad altri tipi di applicazione, perché applica ogni richiesta proveniente da un dispositivo tramite l'handshake mTLS.
Di seguito è riportato un esempio di come escludere gli ambienti dall'applicazione basata su certificati e proteggerli utilizzando un altro tipo di applicazione forzata.
In questo esempio, un'organizzazione utilizza dispositivi macOS, Windows e ChromeOS. L'organizzazione vuole proteggere l'accesso proveniente dalla console Google Cloud.
Crea un livello di accesso che applichi l'accesso basato su certificati a tutti i dispositivi, ad eccezione dei dispositivi ChromeOS in cui è richiesto un criterio relativo ai dispositivi di proprietà dell'azienda. Sostituisci il file YAML con la seguente espressione personalizzata:
certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
Completa i passaggi delle procedure precedenti.