Configurazione delle condizioni dei certificati aziendali

Un principio chiave di Chrome Enterprise Premium è "L'accesso ai servizi viene concesso in base a ciò che sappiamo su di te e sul tuo dispositivo". Il livello di accesso concesso a un singolo utente o a un singolo dispositivo viene dedotto dinamicamente interrogando più origini dati. Chrome Enterprise Premium utilizza questo livello di attendibilità come parte del proprio processo decisionale.

Gestore contesto accesso è il motore dei criteri Zero Trust di Chrome Enterprise Premium. Gestore contesto accesso consente agli amministratori di definire un controllo dell'accesso granulare, basato su attributi, per le applicazioni e le risorse Google Cloud.

Utilizza i livelli di accesso per consentire l'accesso alle risorse in base a informazioni contestuali relative alla richiesta. Utilizzando i livelli di accesso, puoi iniziare a organizzare i livelli di attendibilità. Ad esempio, puoi creare un livello di accesso denominato High_Level che consente le richieste da parte di un piccolo gruppo di persone con privilegi elevati. Potresti anche identificare un gruppo più generico attendibile, ad esempio un intervallo IP da cui vuoi consentire le richieste. In questo caso, potresti creare un livello di accesso denominato Medium_Level per consentire queste richieste.

Uno dei requisiti chiave per l'accesso Zero Trust è quello di consentire l'accesso solo quando il dispositivo è gestito o di proprietà dell'azienda. Esistono molti modi per determinare se un dispositivo è di proprietà dell'azienda e uno è determinare se sul dispositivo è presente un certificato valido emesso dall'azienda. L'esistenza di un certificato aziendale su un dispositivo può essere utilizzata per indicare che il dispositivo è di proprietà dell'azienda.

I certificati aziendali per l'accesso sensibile al contesto sono una funzionalità della soluzione con accesso basato su certificati di Chrome Enterprise Premium. Questa funzionalità utilizza i certificati dei dispositivi come indicatore alternativo sensibile al contesto per determinare se un dispositivo è una risorsa di proprietà dell'azienda. Questa funzionalità è supportata nel browser Chrome 110 o versioni successive.

Poiché un dispositivo può avere più di un certificato, è possibile accedere ai certificati aziendali nel livello di accesso personalizzato tramite le macro .exist(e,p):

device.certificates.exists(cert, predicate)

Nell'esempio, cert è un identificatore semplice da utilizzare in predicator che si vincola al certificato del dispositivo. La macro exist() combina i risultati dei predicati per elemento con l'operatore "or" (||); ciò significa che le macro restituiscono true se almeno un certificato soddisfa l'espressione predicate.

Il certificato contiene i seguenti attributi che possono essere verificati insieme. Tieni presente che i confronti di stringhe sono sensibili alle maiuscole.

Attributo Descrizione Esempio di espressione di predicato (dove cert è un identificatore di macro)
is_valid True se il certificato è valido e non scaduto (booleano). cert.is_valid
cert_fingerprint Impronta del certificato (SHA256 base64 senza padding).

L'impronta è il digest SHA256 con codifica Base64 senza padding, in formato binario, del certificato con codifica DER. Puoi generare la stringa dal certificato in formato PEM utilizzando la seguente procedura con OpenSSL:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Impronta del certificato CA radice utilizzato per firmare il certificato (SHA256 base64 senza padding).

L'impronta è il digest SHA256 con codifica Base64 senza padding, in formato binario, del certificato con codifica DER. Puoi generare la stringa dal certificato in formato PEM utilizzando la seguente procedura con OpenSSL:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.root_ca_fingerprint == "the_fingerprint"
issuer Nome emittente (nomi completamente espansi).

Per trovare il nome dell'emittente, puoi utilizzare il seguente approccio:

Esegui il comando seguente sul certificato:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

La stringa dell'emittente utilizzata nel livello di accesso è il contrario dell'output e / è sostituita da una virgola. Esempio:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject Nome del soggetto del certificato (nomi completamente espansi). cert.subject == "CA_SUB"
serial_number Numero di serie del certificato (stringa). cert.serial_number = "123456789"
template_id ID modello del modello di certificato dell'estensione X.509 per il certificato (stringa). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

La tabella seguente contiene esempi di criteri che puoi impostare:

Norma di esempio Espressione
Il dispositivo ha un certificato valido firmato dal certificato radice dell'azienda. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
Il dispositivo ha un certificato valido emesso dall'emittente CA_ABC. device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

Configurazione dei certificati aziendali

Prima di configurare i certificati aziendali, assicurati di aver configurato livelli di accesso personalizzati. Per le istruzioni, consulta la pagina Creazione di un livello di accesso personalizzato.

Puoi utilizzare una definizione del livello di accesso personalizzato di Gestore contesto accesso per impostare i criteri appropriati. I livelli di accesso personalizzati utilizzano espressioni booleane scritte in un sottoinsieme di Common Expression Language (CEL) per testare gli attributi di un client che effettua una richiesta.

Caricare i trust anchor nella Console di amministrazione

Per consentire a Chrome Enterprise Premium di raccogliere e convalidare il certificato aziendale del dispositivo, devi caricare i trust anchor utilizzati per emettere il certificato. I trust anchor qui fanno riferimento al certificato CA radice autofirmato (autorità di certificazione) e ai certificati intermedi e subordinati pertinenti. Completa i seguenti passaggi per caricare gli anchor trust:

  1. Vai alla Console di amministrazione e vai a Dispositivi > Reti > Certificati.
  2. Seleziona l'unità organizzativa appropriata.
  3. Seleziona Aggiungi certificato.
  4. Inserisci il nome del certificato.
  5. Carica il certificato.
  6. Attiva la casella di controllo Verifica endpoint.
  7. Fai clic su Aggiungi.
  8. Assicurati che gli utenti appartengano all'unità organizzativa per la quale vengono caricati i trust anchor.

Configura un criterio AutoSelectCertificateForUrls

Per fare in modo che Verifica degli endpoint cerchi nel certificato del dispositivo e lo raccolga tramite Chrome, devi configurare il criterio di Chrome AutoSelectCertificateForURLs svolgendo i seguenti passaggi:

  1. Assicurati che il browser Chrome sia gestito da Chrome Browser Cloud Management.

  2. Nella Console di amministrazione, aggiungi il criterio AutoSelectCertificateForUrls:

    1. Vai alla Console di amministrazione e vai a Dispositivi > Chrome > Impostazioni > Impostazioni browser e utente > Certificati client.
    2. Seleziona l'unità organizzativa appropriata.
    3. Aggiungi un criterio AutoSelectCertificateForUrls, come illustrato nell'esempio seguente:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}
      

      Sostituisci CERTIFICATE_ISSUER_NAME con il nome comune della CA principale. Non modificare il valore di pattern.

Per verificare la configurazione dei criteri, completa i seguenti passaggi:

  1. Vai a chrome://policy nel browser.
  2. Verifica il valore configurato per AutoSelectCertificateForUrls.
  3. Assicurati che il valore del criterio Si applica a sia impostato su Macchina. Nel sistema operativo Chrome, il valore viene applicato a Utente corrente.*
  4. Assicurati che lo stato del criterio non abbia un conflitto.

Risoluzione dei problemi di configurazione

Esamina gli attributi del certificato nella pagina dei dettagli del dispositivo per assicurarti che siano elencati correttamente.

Puoi utilizzare i log di Verifica degli endpoint per risolvere eventuali problemi. Per scaricare i log di verifica degli endpoint, completa i seguenti passaggi:

  1. Fai clic con il tasto destro del mouse sull'estensione Verifica degli endpoint e seleziona Opzioni.
  2. Seleziona Livello di log > Tutti > Scarica log.
  3. Apri una richiesta di assistenza con l'assistenza clienti Google Cloud e condividi i log per eseguire ulteriori debug.