Attivare l'accesso basato su certificato con i certificati aziendali

Questa pagina descrive come attivare l'accesso basato su certificati (CBA) con i certificati aziendali.

Se non disponi di un'infrastruttura a chiave pubblica (PKI), puoi utilizzare i certificati di cui è stato eseguito il provisioning tramite la verifica endpoint.

Un requisito importante del modello di accesso Zero Trust è consentire l'accesso solo ai dispositivi autorizzati. L'accesso sensibile al contesto basato su certificati utilizza i certificati e le relative chiavi private archiviate in un keystore sicuro sul dispositivo per determinare se il dispositivo è autorizzato. Per attivare questa funzionalità, completa le seguenti procedure.

Prima di iniziare

Assicurati di aver creato livelli di accesso CBA per il tuo progetto Google Cloud . Se devi creare livelli di accesso, consulta Creare livelli di accesso per l'accesso basato su certificati.

Assicurati di applicare l'accesso basato sul contesto alle tue risorse Google Cloud utilizzando uno dei seguenti metodi:

Quando applichi CBA alle tue risorse Google Cloud , l'accesso alle tue risorseGoogle Cloud richiede che un utente autorizzato presenti anche un certificato del dispositivo valido.

Carica i trust anchor

Per consentire all'accesso sensibile al contesto di raccogliere e convalidare il certificato aziendale di un dispositivo, devi caricare i trust anchor utilizzati per emettere il certificato del dispositivo. I trust anchor sono il certificato CA radice autofirmato e i certificati intermedi e subordinati pertinenti. Per caricare gli ancoraggi attendibili, completa i seguenti passaggi:

  1. Nella Console di amministrazione Google, vai a Dispositivi > Reti > Certificati, quindi seleziona l'unità organizzativa per cui caricare gli ancoraggi attendibili. Assicurati che l'unità organizzativa selezionata contenga gli utenti a cui vuoi concedere l'accesso.

  2. Seleziona Aggiungi certificato e inserisci un nome per il certificato radice.

  3. Fai clic su Carica per caricare il certificato.

  4. Seleziona Abilita la verifica degli endpoint, quindi fai clic su Aggiungi.

Il certificato da caricare deve essere il certificato CA, ovvero l'emittente dei certificati client installati sui dispositivi aziendali. Se la tua azienda non dispone ancora di un certificato CA e dei certificati client corrispondenti, puoi crearli tramite il Google Cloud Certificate Authority Service. I passaggi per installare i certificati client nei keystore nativi variano a seconda del sistema operativo e non rientrano nell'ambito di questo documento.

Configura il browser Chrome degli utenti in modo che utilizzi il certificato aziendale

Segui le istruzioni riportate in Configurare la verifica degli endpoint per installare l'estensione Endpoint Verification per Chrome per tutti gli utenti della tua organizzazione. Questa estensione viene utilizzata per sincronizzare i metadati dei certificati con il backend di Google Cloud.

Dopo aver configurato l'estensione del browser, configura il criterio AutoSelectCertificateForURLs di Chrome 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, 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 la policy AutoSelectCertificateForUrls:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      

      Nell'esempio, CERT_ISSUER è il nome comune del certificato CA.

Dopo questa configurazione, gli utenti possono accedere alle risorse protette Google Cloud con il browser Chrome all'indirizzo console-secure.cloud.google.com.

Verificare la configurazione dei criteri (facoltativo)

  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. Sul sistema operativo Chrome, il valore per Si applica a è Utente corrente.

  4. Assicurati che lo Stato della policy non sia Conflitto. Se lo stato presenta un conflitto, consulta Comprendere la gestione dei criteri di Chrome per informazioni.

Configurare gli strumenti a riga di comando per utilizzare il certificato aziendale

Se gli utenti della tua organizzazione devono accedere alle risorse Google Cloud dalla riga di comando, devono completare le seguenti procedure per attivare l'autenticazione basata su certificati con il certificato aziendale negli strumenti a riga di comando.

Sono supportati i seguenti strumenti a riga di comando:

  • Google Cloud CLI

  • CLI Terraform (gcloud CLI è ancora necessaria per installare e configurare i componenti helper).

Poiché i certificati del dispositivo sono archiviati in keystore nativi, l'Google Cloud CLI è raggruppata con un componente open source chiamato 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++.

Sono supportati i seguenti sistemi operativi e i rispettivi keystore nativi:

  • macOS con portachiavi

  • Microsoft Windows con CryptoAPI

  • Linux con PKCS #11

ECP deve essere configurato con le informazioni sui metadati necessarie per individuare il certificato nei keystore.

Installa e configura ECP con Google Cloud CLI

  1. Installa Google Cloud CLI e attiva CBA. Installa con l'opzione bundled python attivata.

  2. Per macOS e Linux, esegui lo script install.sh dopo averlo scaricato:

    $ ./google-cloud-sdk/install.sh
    
  3. Installa il componente helper ECP con Google Cloud CLI:

    gcloud components install enterprise-certificate-proxy
    
  4. Inizializza la configurazione del certificato ECP con Google Cloud CLI:

Linux

$ gcloud auth enterprise-certificate-config create linux
  --label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>

Esempio:

$ gcloud auth enterprise-certificate-config create linux
  --label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567

macOS

$ gcloud auth enterprise-certificate-config create macos
  --issuer=<CERT_ISSUER>

Esempio:

$ gcloud auth enterprise-certificate-config create macos
  --issuer="Google Endpoint Verification"

Windows

$ gcloud auth enterprise-certificate-config create windows
  --issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>

Esempio:

$ gcloud auth enterprise-certificate-config create windows
  --issuer="Google Endpoint Verification" --provider=current_user --store=MY

La configurazione ECP può essere configurata anche manualmente. Viene archiviato come file JSON nel seguente percorso sul dispositivo dell'utente:

  • Linux e macOS: ~/.config/gcloud/certificate_config.json

  • Windows: %APPDATA%\gcloud\certificate_config.json

Consulta la documentazione ECP su GitHub per altri esempi di configurazione e schema.

Linux

{
  "cert_configs": {
    "pkcs11": {
      "label": "<CERT_LABEL>",
      "slot": "<SLOT_ID>",
      "module": "<PKCS11_MODULE_PATH>"
    }
  },
  "libs": {
    "ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
    "ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
    "tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
  }
}

macOS

{
  "cert_configs": {
      "macos_keychain": {
        "issuer": "<CERT_ISSUER>"
      }
  },
  "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

{
  "cert_configs": {
    "windows_store": {
      "store": "MY",
      "provider": "current_user",
      "issuer": "<CERT_ISSUER>"
    }
  },
  "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"
  }
}

Dopo questa configurazione, gli utenti possono accedere alle risorse protette Google Cloud utilizzando gli strumenti a riga di comando attivando il flag CBA.

Per attivare l'autenticazione basata su certificati per Google Cloud CLI, imposta la proprietà context_aware/use_client_certificate su true.

Per abilitare l'autenticazione basata su credenziali per tutti gli altri strumenti a riga di comando, incluso Terraform, imposta la variabile di ambiente GOOGLE_API_USE_CLIENT_CERTIFICATE su true.

Passaggi successivi