Questa pagina descrive come attivare l'accesso basato su certificato (CBA) con i certificati di verifica degli endpoint di cui è stato eseguito il provisioning.
Puoi utilizzare la verifica degli endpoint per eseguire automaticamente il provisioning di certificati autofirmati per un dispositivo. I certificati di cui è stato eseguito il provisioning per la verifica endpoint ti consentono di utilizzare la CBA senza un'infrastruttura PKI. Questi certificati vengono archiviati nel portachiavi su macOS, negli store dei certificati su Windows e nei file system su Linux.
Se disponi di un'infrastruttura PKI, consulta Attivare l'accesso basato su certificato con i certificati aziendali per attivare l'accesso basato su certificato.
Puoi attivare i certificati di provisioning della verifica degli endpoint sui seguenti sistemi operativi:
- macOS e Windows utilizzando il browser Chrome
- macOS, Windows e Linux utilizzando Google Cloud CLI
Se il tuo sistema operativo non è elencato, consulta 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 Google Cloud progetto.
Puoi applicare il CBA alle tue Google Cloud risorse utilizzando uno dei seguenti metodi:
- (Consigliato) Configura le regole relative agli utenti applicando l'accesso basato su certificato con i criteri di accesso sensibile al contesto.
- Configura le regole relative ai dati applicando l'accesso basato su certificato con i Controlli di servizio VPC.
Devi disporre 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 Endpoint Verification di Chrome 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 endpoint. Questa app è obbligatoria per utilizzare la verifica degli endpoint con CBA.
Configurare il browser Chrome degli utenti
Per configurare il browser Chrome degli utenti in modo che utilizzi i certificati di provisioning di Endpoint Verification, devi configurare il criterio di Chrome AutoSelectCertificateForURLs per consentire a Endpoint Verification 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 utente e browser > Certificati client.
- Seleziona l'unità organizzativa appropriata.
Aggiungi un criterio. L'esempio seguente aggiunge 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 protetteGoogle Cloud con il browser Chrome all'indirizzo console-secure.cloud.google.com.
(Facoltativo) Verifica la configurazione dei criteri
- Nel browser Chrome, inserisci
chrome://policy
. - Verifica che AutoSelectCertificateForUrls sia elencato in Criteri di Chrome.
- Verifica che il valore di Si applica a sia Computer. Su ChromeOS, il valore di Si applica a è Utente corrente.
- Assicurati che lo stato del criterio non presenti conflitti. Se lo stato presenta un conflitto, consulta Comprendere la gestione dei criteri di Chrome per informazioni.
Configurare gli strumenti a riga di comando
Puoi configurare i seguenti strumenti per utilizzare i certificati di provisioning della verifica degli endpoint:
- Google Cloud CLI
- L'interfaccia a riga di comando Terraform (l'interfaccia a riga di comando gcloud è necessaria per installare e configurare i componenti di supporto).
Poiché i certificati dei dispositivi sono archiviati nei keystore di macOS e Windows, il client gcloud è in bundle con il 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 Visual Studio C++.
- Installa la gcloud CLI. Installa con l'opzione Python in bundle attivata.
- Attiva la CBA.
Per macOS e Linux, scarica ed esegui lo script
install.sh
../google-cloud-sdk/install.sh
Gli utenti Linux devono andare al passaggio Attivare i certificati di provisioning per la verifica CBA e degli endpoint . Gli utenti macOS e Windows devono completare i passaggi che seguono.
Installa il componente helper ECP con l'interfaccia a riga di comando gcloud.
gcloud components install enterprise-certificate-proxy
Inizializza la configurazione del certificato ECP con 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
(Facoltativo) Configura il certificato ECP manualmente eseguendo il seguente comando.
macOS
La configurazione ECP è memorizzata in un file JSON, situato 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 è memorizzata in un file JSON, situato 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 provisioning di CBA e verifica degli endpoint.
Per gcloud CLI, esegui il seguente comando.
gcloud config set context_aware/use_client_certificate true
Per tutti gli altri strumenti a riga di comando, incluso Terraform, imposta la variabile di ambiente.
export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
Utilizzo di sistemi operativi non completamente supportati
Se il tuo sistema operativo non è nell'elenco dei sistemi operativi supportati e vuoi utilizzare i certificati di cui è stato eseguito il provisioning per la Verifica degli endpoint, puoi esentare gli ambienti dall'applicazione forzata basata su certificati e proteggerli utilizzando altri tipi di applicazione forzata. Ad esempio, utilizzando un criterio per i 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 esentare gli ambienti dall'applicazione basata su certificati e proteggerli utilizzando un altro tipo di applicazione.
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 imponga l'accesso basato su certificato per tutti i dispositivi, tranne per i dispositivi ChromeOS per i quali è 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.