Attivare l'accesso basato su certificato con i certificati di verifica degli endpoint

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:

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.

  1. Assicurati che il browser Chrome degli utenti sia gestito da Chrome Browser Cloud Management.
  2. Nella Console di amministrazione Google, aggiungi il criterio AutoSelectCertificateForUrls.

    1. Vai a Dispositivi > Chrome > Impostazioni > Impostazioni utente e browser > Certificati client.
    2. Seleziona l'unità organizzativa appropriata.
    3. 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

  1. Nel browser Chrome, inserisci chrome://policy.
  2. Verifica che AutoSelectCertificateForUrls sia elencato in Criteri di Chrome.
  3. Verifica che il valore di Si applica a sia Computer. Su ChromeOS, il valore di Si applica a è Utente corrente.
  4. 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++.

  1. Installa la gcloud CLI. Installa con l'opzione Python in bundle attivata.
  2. Attiva la CBA.
  3. Per macOS e Linux, scarica ed esegui lo script install.sh.

    ./google-cloud-sdk/install.sh
    
  4. 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.

    1. Installa il componente helper ECP con l'interfaccia a riga di comando gcloud.

      
      gcloud components install enterprise-certificate-proxy
      
    2. 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"
        }
      }
      
  5. 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.

  1. 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)
    
  2. Completa i passaggi delle procedure precedenti.

    1. Creare un criterio sensibile al contesto
    2. Configurare la verifica degli endpoint
    3. Configurare il browser Chrome degli utenti in modo che utilizzi i certificati di cui è stato eseguito il provisioning per la verifica degli endpoint