Configurer les conditions du certificat d'entreprise

L'un des principes fondamentaux de Chrome Enterprise Premium est le suivant : "L'accès aux services est accordé en fonction des informations disponibles sur vous et votre appareil". Le niveau d'accès accordé à un seul utilisateur ou à un seul appareil est déduit de manière dynamique en interrogeant plusieurs sources de données. Chrome Enterprise Premium se base sur ce niveau de confiance pour prendre des décisions.

Access Context Manager est le moteur de règles zéro confiance de Chrome Enterprise Premium. Access Context Manager permet aux administrateurs de définir un contrôle des accès précis et basé sur des attributs pour les applications et les ressources Google Cloud.

Utilisez des niveaux d'accès pour autoriser l'accès aux ressources en fonction des informations contextuelles sur la requête. Les niveaux d'accès vous permettent d'organiser les niveaux de confiance. Par exemple, vous pouvez créer un niveau d'accès appelé High_Level qui autorise les requêtes provenant d'un petit groupe de personnes hautement privilégiées. Vous pouvez également identifier un groupe plus général à approuver, tel qu'une plage d'adresses IP à partir de laquelle vous souhaitez autoriser les requêtes. Dans ce cas, vous pouvez créer un niveau d'accès appelé Medium_Level pour autoriser ces requêtes.

L'une des principales exigences de l'accès "zéro confiance" consiste à n'autoriser l'accès que lorsque l'appareil est géré ou détenu par l'entreprise. Il existe de nombreuses façons de déterminer si un appareil appartient à l'entreprise. L'une d'elles consiste à déterminer si un certificat valide, délivré par l'entreprise, existe sur l'appareil. L'existence d'un certificat d'entreprise sur un appareil peut servir à indiquer qu'il appartient à l'entreprise.

Les certificats d'entreprise pour l'accès contextuel sont une fonctionnalité de la solution globale d'accès basé sur les certificats Chrome Enterprise Premium. Cette fonctionnalité exploite les certificats d'appareil en tant que signal contextuel alternatif pour déterminer si un appareil est une ressource détenue par l'entreprise. Cette fonctionnalité est compatible avec le navigateur Chrome 110 et les versions ultérieures.

Étant donné qu'un appareil peut disposer de plusieurs certificats, les certificats d'entreprise sont accessibles au niveau d'accès personnalisé via les macros .exist(e,p):

device.certificates.exists(cert, predicate)

Dans l'exemple, cert est un identifiant simple à utiliser dans predicator qui est lié au certificat de l'appareil. La macro exist() combine les résultats du prédicat par élément avec l'opérateur "or" (||), ce qui signifie que les macros renvoient la valeur "true" si au moins un certificat répond à l'expression predicate.

Les attributs suivants du certificat peuvent être vérifiés ensemble. Notez que les comparaisons de chaînes sont sensibles à la casse.

Attribut Description Exemple d'expression de prédicat (où cert est un identifiant de macros)
is_valid "True" si le certificat est valide et n'a pas expiré (booléen). cert.is_valid
cert_fingerprint Empreinte du certificat (SHA256 sans remplissage base64).

L'empreinte correspond au condensé SHA256 non rempli et encodé en base64, au format binaire, du certificat DER. Vous pouvez générer la chaîne à partir du certificat au format PEM en procédant comme suit avec 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 Empreinte du certificat CA racine utilisé pour signer le certificat (SHA256 sans remplissage base64).

L'empreinte correspond au condensé SHA256 non rempli et encodé en base64, au format binaire, du certificat DER. Vous pouvez générer la chaîne à partir du certificat au format PEM en procédant comme suit avec 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 Nom de l'émetteur (noms entiers).

Pour trouver le nom de l'émetteur, vous pouvez utiliser l'approche suivante:

Exécutez la commande suivante sur le certificat:

$ 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 chaîne d'émetteur utilisée dans le niveau d'accès est l'inverse de la sortie, avec le caractère / remplacé par une virgule. Exemple :

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 Nom de l'objet du certificat (noms entiers). cert.subject == "CA_SUB"
serial_number Numéro de série du certificat (chaîne). cert.serial_number = "123456789"
template_id ID de modèle du modèle de certificat de l'extension X.509 pour le certificat (chaîne). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

Le tableau suivant contient des exemples de règles que vous pouvez définir :

Exemple de règle Expression
L'appareil dispose d'un certificat valide signé par le certificat racine de l'entreprise. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
L'appareil dispose d'un certificat valide émis par l'émetteur 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")

Configurer des certificats d'entreprise

Avant de configurer les certificats d'entreprise, assurez-vous d'avoir configuré des niveaux d'accès personnalisés. Pour obtenir des instructions, consultez Créer un niveau d'accès personnalisé.

Vous pouvez utiliser une définition de niveau d'accès personnalisé Access Context Manager pour définir les stratégies appropriées. Les niveaux d'accès personnalisés utilisent des expressions booléennes écrites dans un sous-ensemble de Common Expression Language (CEL) pour tester les attributs d'un client effectuant une requête.

Importer des ancres de confiance dans la console d'administration

Pour que Chrome Enterprise Premium puisse collecter et valider le certificat d'entreprise de l'appareil, vous devez importer les ancres de confiance utilisées pour émettre ce certificat. Les ancres de confiance font ici référence au certificat de l'autorité de certification racine autosignée et aux certificats intermédiaires et subordonnés pertinents. Pour importer les ancres de confiance, procédez comme suit:

  1. Accédez à la console d'administration, puis à Appareils > Réseaux > Certificats.
  2. Sélectionnez l'unité organisationnelle appropriée.
  3. Sélectionnez Ajouter un certificat.
  4. Saisissez le nom du certificat.
  5. Importez le certificat.
  6. Cochez la case Validation des points de terminaison.
  7. Cliquez sur Ajouter.
  8. Assurez-vous que les utilisateurs appartiennent à l'unité organisationnelle pour laquelle les ancres de confiance sont importées.

Configurer une règle AutoSelectCertificateForUrls

Pour que Endpoint Verification puisse rechercher le certificat de l'appareil et le collecter via Chrome, vous devez configurer la règle Chrome AutoSelectCertificateForURLs en procédant comme suit:

  1. Assurez-vous que le navigateur Chrome est géré par la gestion cloud du navigateur Chrome.

  2. Dans la console d'administration, ajoutez la règle AutoSelectCertificateForUrls:

    1. Accédez à la console d'administration, puis à Appareils > Chrome > Paramètres > Paramètres des utilisateurs et du navigateur > Certificats client.
    2. Sélectionnez l'unité organisationnelle appropriée.
    3. Ajoutez une règle AutoSelectCertificateForUrls, comme illustré dans l'exemple suivant:

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

      Remplacez CERTIFICATE_ISSUER_NAME par le nom commun de l'autorité de certification racine. Ne modifiez pas la valeur de pattern.

Pour vérifier la configuration des règles, procédez comme suit:

  1. Accédez à chrome://policy dans le navigateur.
  2. Vérifiez la valeur configurée pour AutoSelectCertificateForUrls.
  3. Assurez-vous que la valeur de la règle Applicable à est définie sur Machine. Dans le système d'exploitation Chrome, la valeur est appliquée à Utilisateur actuel*.
  4. Vérifiez que l'état de la stratégie n'indique pas Conflit.

Résoudre les problèmes de votre configuration

Vérifiez les attributs de certificat sur la page d'informations de l'appareil pour vous assurer qu'ils sont correctement répertoriés.

Vous pouvez utiliser les journaux Endpoint Verification pour vous aider à résoudre d'éventuels problèmes. Pour télécharger les journaux Endpoint Verification, procédez comme suit:

  1. Effectuez un clic droit sur l'extension Endpoint Verification, puis accédez à Options.
  2. Sélectionnez Log level > All > Download Logs (Niveau de journalisation > Tous > Télécharger les journaux).
  3. Créez une demande d'assistance auprès de Cloud Customer Care et partagez les journaux pour un débogage ultérieur.