Configurer des conditions de certificat d'entreprise

L'un des principes clés de Chrome Enterprise Premium est que l'accès aux services est accordé en fonction d'informations contextuelles vous concernant, vous et votre appareil. Chrome Enterprise Premium déduit de manière dynamique le niveau d'accès accordé à un seul utilisateur ou appareil en évaluant plusieurs sources de données, et utilise ce niveau de confiance dans le cadre de son processus de décision.

Access Context Manager est le moteur de stratégies zéro confiance de Chrome Enterprise Premium. Access Context Manager vous permet de définir un contrôle d'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 de la requête. En utilisant des niveaux d'accès, vous pouvez commencer à organiser des niveaux de confiance. Par exemple, vous pouvez créer un niveau d'accès appelé High_Level qui autorise les requêtes d'un petit groupe de personnes disposant de privilèges élevés. Vous pouvez également identifier un groupe plus général auquel faire confiance, comme 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 est de n'autoriser l'accès que lorsque l'appareil est géré ou détenu par l'entreprise. Il existe plusieurs façons de déterminer si un appareil appartient à l'entreprise. Une solution consiste à déterminer si un certificat valide, émis par l'entreprise, est présent sur l'appareil. Un certificat d'entreprise sur un appareil peut 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é utilise les certificats d'appareil comme signal contextuel alternatif pour déterminer si un appareil appartient à l'entreprise. Cette fonctionnalité est compatible avec le navigateur Google Chrome version 110 ou ultérieure.

Comme un appareil peut posséder plusieurs certificats, vous pouvez accéder aux certificats d'entreprise dans le niveau d'accès personnalisé via la macro .exists(e, p) :

device.certificates.exists(cert, predicate)

Dans l'exemple, cert est un identifiant utilisé dans predicate, qui est lié au certificat de l'appareil. La macro exists() combine les résultats de 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 satisfait l'expression predicate.

Le certificat possède les attributs suivants, qui 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 (pour laquelle cert est un identifiant de macros)
is_valid Définie sur "true" si le certificat est valide et s'il n'a pas expiré (booléen).

Vérifie si le certificat n'a pas expiré et s'il est signé par une ancre de confiance. Notez que la validation des points de terminaison ne vérifie pas la révocation des certificats.

cert.is_valid
cert_fingerprint Empreinte du certificat (SHA256 sans remplissage base64).

L'empreinte correspond au condensé SHA256 encodé en base64 sans remplissage (au format binaire) du certificat avec encodage DER. Vous pouvez générer la chaîne à partir du certificat au format PEM via la procédure suivante 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 | tr -d =

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Empreinte du certificat CA racine qui permet de signer le certificat (SHA256 sans remplissage base64).

L'empreinte correspond au condensé SHA256 encodé en base64 sans remplissage (au format binaire) du certificat avec encodage DER. Vous pouvez générer la chaîne à partir du certificat au format PEM via la procédure suivante 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 | tr -d =

cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT"
issuer Nom de l'émetteur (noms entiers).

Pour trouver le nom de l'émetteur, vous pouvez procéder comme suit :

Exécutez la commande suivante sur le certificat :

$ openssl x509 -in ca_1.crt -issuer issuer= /C=US/ST=CA/L=MTV/O=ExampleCorp/OU=ExampleUnit/CN=inter_1/emailAddress=admin@example.com

Pour obtenir la chaîne d'émetteur pour le niveau d'accès, inversez la sortie et remplacez chaque barre oblique (/) par une virgule (,) :

EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US

cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US"
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 == "SERIAL_NUMBER"
template_id ID du modèle de l'extension X.509 du modèle de certificat pour le certificat (chaîne). cert.template_id == "TEMPLATE_ID"

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=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US")

Configurer des certificats d'entreprise

Avant de configurer des 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ée Access Context Manager pour définir les règles appropriées. Les niveaux d'accès personnalisés utilisent des expressions booléennes écrites dans un sous-ensemble du langage CEL (Common Expression Language) pour tester les attributs d'un client qui effectue une requête.

Importer des ancres de confiance dans la console d'administration

Pour que Chrome Enterprise Premium collecte et valide le certificat d'entreprise de l'appareil, vous devez importer les ancres de confiance et tous les certificats intermédiaires utilisés pour émettre le certificat de l'appareil. Les ancres de confiance correspondent au certificat CA (autorité de certification) racine autosigné 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 vous avez importé les ancres de confiance.

Configurer une règle AutoSelectCertificateForUrls

Pour qu'Endpoint Verification recherche le certificat de l'appareil et le collecte via Chrome, vous devez configurer la règle 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 de l'utilisateur et du navigateur > Certificats client.
    2. Sélectionnez l'unité organisationnelle appropriée.
    3. Ajoutez une règle AutoSelectCertificateForUrls en vous basant sur 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 émettrice. Ne modifiez pas la valeur de pattern.

Pour vérifier la configuration de la règle, 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 S'applique à de la règle est définie sur Machine. Sur ChromeOS, la valeur s'applique à Utilisateur actuel.
  4. Vérifiez que l'état de la règle n'indique pas Conflit.

Étapes suivantes