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

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:

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.

  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 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

  1. Nel browser Chrome, inserisci chrome://policy.
  2. Verifica che AutoSelectCertificateForUrls sia elencato in Policy 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 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++.

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

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

    1. Installa il componente helper ECP con gcloud CLI.

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

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

    1. Crea una policy sensibile al contesto
    2. Configurare la verifica degli endpoint
    3. Configurare il browser Chrome degli utenti in modo che utilizzi i certificati di provisioning di Endpoint Verification