Configurazione delle condizioni dei certificati aziendali

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Un principio chiave di BeyondCorp Enterprise è "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 in modo dinamico interrogando più origini dati. BeyondCorp Enterprise utilizza questo livello di fiducia nel processo decisionale.

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

Utilizza i livelli di accesso per consentire l'accesso alle risorse in base alle informazioni contestuali sulla richiesta. Se utilizzi i livelli di accesso, puoi iniziare a organizzare i livelli di attendibilità. Ad esempio, potresti creare un livello di accesso denominato High_Level che consente le richieste di un piccolo gruppo di individui con privilegi elevati. Potresti anche identificare un gruppo più generale attendibile, ad esempio un intervallo IP da cui consentire le richieste. In tal caso, puoi creare un livello di accesso denominato Medium_Level per consentire tali richieste.

Uno dei requisiti chiave per l'accesso Zero Trust è consentire l'accesso solo quando il dispositivo è gestito o di proprietà dell'azienda. Esistono molti modi per stabilire se un dispositivo è di proprietà dell'azienda e un modo per determinare se un certificato valido rilasciato dall'azienda è presente sul dispositivo. 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 di accesso basata su certificato BeyondCorp Enterprise complessiva. Questa funzionalità utilizza i certificati dispositivo come indicatore sensibile del contesto alternativo per determinare se un dispositivo è una risorsa di proprietà dell'azienda.

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 semplice identificatore da usare in predicator che si associa al certificato del dispositivo. La macro exist() combina i risultati del predicato per ciascun elemento con l'operatore "o" (||), il che significa che le macro restituiscono true se almeno un certificato soddisfa l'espressione predicate.

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

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

L'impronta digitale è il digest SHA256 con codifica Base64 non imbottito, in formato binario, del certificato con codifica DER. Puoi generare la stringa dal certificato in formato PEM utilizzando la procedura seguente 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 digitale è il digest SHA256 con codifica Base64 non imbottito, in formato binario, del certificato con codifica DER. Puoi generare la stringa dal certificato in formato PEM utilizzando la procedura seguente 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 questo comando 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'autorità di certificazione usata nel livello di accesso è l'inverso dell'output e il carattere / viene sostituito 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 dell'estensione X.509 CertificateTemplate del certificato (stringa). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

La seguente tabella contiene esempi di criteri che puoi impostare:

Criterio di esempio Espressione
Il dispositivo ha un certificato valido firmato dal certificato radice aziendale. 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 i livelli di accesso personalizzati, Creando 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 permettere a BeyondCorp Enterprise di raccogliere e convalidare il certificato aziendale del dispositivo, devi caricare i trust anchor utilizzati per emettere il certificato. I trust anchor qui riportati fanno riferimento al certificato CA (Autorità di certificazione) autofirmato e ai certificati intermedi e subordinati pertinenti. Completa i seguenti passaggi per caricare i trust anchor:

  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 Endpoint Verification (Verifica endpoint).
  7. Fai clic su Add (Aggiungi).
  8. Assicurati che gli utenti appartengano all'unità organizzativa per cui sono stati caricati i trust anchor.

Configura un criterio AutoSelectCertificateForUrls

Affinché Endpoint Verification possa cercare nel certificato del dispositivo e raccoglierlo tramite Chrome, devi configurare il criterio di Chrome AutoSelectCertificateForURLs completando i passaggi seguenti:

  1. Assicurati che il browser Chrome sia gestito dalla gestione del cloud del browser Chrome o dai criteri di gruppo di Windows.

    OPPURE

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

    1. Vai alla Console di amministrazione e vai a Dispositivi > Chrome > Impostazioni > Utente & Impostazioni del browser > 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":{<issuerDNs>}}}
    

    NOTA: il filtro dovrebbe fare riferimento a un certificato di emittente, caricato nei passaggi precedenti.

Per verificare la configurazione del criterio:

  1. Nel browser, vai a chrome://policy.
  2. Verifica il valore configurato per AutoSelectCertificateForUrls.
  3. Assicurati che il valore del criterio 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.

Risolvere i problemi di configurazione

Rivedi gli attributi dei certificati nella pagina dei dettagli del dispositivo per assicurarti che gli attributi dei certificati siano elencati correttamente

Puoi utilizzare i log di Endpoint Verification per risolvere eventuali problemi. Per scaricare i log di verifica degli endpoint, completa questi passaggi:

  1. Fai clic con il pulsante destro del mouse sull'estensione Endpoint Verification (Verifica endpoint) e scegli Options (Opzioni).
  2. Seleziona Livello di log > Tutti > Scarica log.
  3. Apri una richiesta di assistenza con Cloud Customer Care e condividi i log per il debug aggiuntivo.