Questa pagina descrive come attivare l'accesso basato su certificati (CBA) con i certificati di verifica endpoint di cui è stato eseguito il provisioning.
Puoi utilizzare la verifica degli endpoint per eseguire automaticamente il provisioning dei certificati autofirmati per un dispositivo. I certificati di provisioning della verifica endpoint ti consentono di utilizzare l'autenticazione basata su certificati senza un'infrastruttura PKI. Questi certificati vengono archiviati nel portachiavi su macOS, negli archivi di certificati su Windows e nei file system su Linux.
Se hai un'infrastruttura PKI, consulta Attivare l'accesso basato su certificati con i certificati aziendali per attivare l'accesso basato su certificati.
Puoi attivare i certificati di verifica degli endpoint di cui è stato eseguito il provisioning 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 Utilizzo di 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 .
Applichi CBA alle tue Google Cloud risorse utilizzando uno dei seguenti metodi:
- (Consigliato) Configura le regole relative agli utenti applicando l'accesso basato su certificati con i criteri di accesso sensibile al contesto.
- Configura le regole relative ai dati applicando l'accesso basato su certificati con i Controlli di servizio VPC.
Sei autorizzato a 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 utente 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 è necessaria per utilizzare la verifica degli endpoint con l'autenticazione basata su certificati.
Configurare il browser Chrome degli utenti
Per configurare il browser Chrome degli utenti in modo che utilizzi i certificati di provisioning di Verifica endpoint, devi configurare la policy AutoSelectCertificateForURLs di Chrome per consentire a Verifica 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 utente e browser > Certificati client.
- Seleziona l'unità organizzativa appropriata.
Aggiungi una policy. 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 risorseGoogle Cloud protette 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 Policy 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 della policy non sia in conflitto. 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 cui è stato eseguito il provisioning della verifica endpoint:
- Google Cloud CLI
- Interfaccia a riga di comando Terraform (l'gcloud CLI è necessaria per installare e configurare i componenti helper).
Poiché i certificati dei dispositivi sono archiviati nei keystore di macOS e Windows, la gcloud CLId è raggruppata con il componente open source Enterprise Certificate Proxy (ECP) per interagire con le API di gestione delle chiavi.
Se utilizzi un sistema Windows, devi aver installato la libreria di runtime Visual Studio C++.
- Installa gcloud CLI. Installa con l'opzione Python in bundle abilitata.
- Attiva la fatturazione basata sugli asset.
Per macOS e Linux, scarica ed esegui lo script
install.sh
../google-cloud-sdk/install.sh
Gli utenti Linux devono passare al passaggio Attiva i certificati di provisioning CBA e verifica degli 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 il seguente comando.
macOS
La configurazione ECP è memorizzata in un file JSON, che si trova 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, che si trova 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 autenticazione basata su certificati e di provisioning della 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 è presente nell'elenco dei sistemi operativi supportati e vuoi utilizzare i certificati di provisioning di Endpoint Verification, puoi esentare gli ambienti dall'applicazione basata su certificati e proteggerli utilizzando altri tipi di applicazione. 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 consoleGoogle Cloud .
Crea un livello di accesso che imponga l'accesso basato su certificati per tutti i dispositivi, ad eccezione dei dispositivi ChromeOS in cui sono richiesti criteri relativi 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.