Configurer les conditions de certificat d'entreprise

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

L'un des principes clés de BeyondCorp Enterprise est l'accès aux services en fonction de ce que nous savons de vous et de votre appareil. Le niveau d'accès accordé à un utilisateur ou à un appareil est déterminé de façon dynamique en interrogeant plusieurs sources de données. BeyondCorp Enterprise utilise ce niveau de confiance dans son processus de décision.

Access Context Manager est le moteur de règles zéro confiance de BeyondCorp Enterprise. 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 concernant 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 d'un petit groupe de personnes très privilégiées. Vous pouvez également identifier un groupe plus général de confiance, 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 exigences clés 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 est détenu par l'entreprise. L'une d'elles consiste à déterminer si l'appareil possède un certificat valide. Un certificat d'entreprise peut être utilisé pour indiquer que l'appareil appartient à l'entreprise.

Les certificats d'entreprise pour l'accès contextuel sont une fonctionnalité de la solution globale d'accès aux certificats BeyondCorp Enterprise. Cette fonctionnalité utilise les certificats d'appareil comme signal contextuel pour déterminer si un appareil est détenu par l'entreprise.

É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 " ou&||t; (||), ce qui signifie que les macros renvoient la valeur "true" si au moins un certificat satisfait l'expression predicate.

Le certificat comporte 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 (où cert est un identifiant de macros)
is_valid Vraie 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 encodé au format base64 et non complété du certificat encodé au format 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 encodé au format base64 et non complété du certificat encodé au format 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 procéder comme suit:

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 au niveau de l'accès correspond à l'inverse de la sortie. Elle est remplacée par le caractère "/" 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 d'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 du modèle d'extension X.509 du 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'émetteur CA_ABC. dispose d'un certificat valide 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 des certificats d'entreprise, assurez-vous d'avoir configuré des niveaux d'accès personnalisés, 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 stratégies appropriées. Les niveaux d'accès personnalisés utilisent des expressions booléennes écrites dans un sous-ensemble du CEL (Common Expression Language) pour tester les attributs d'un client effectuant une requête.

Importer des ancres d'approbation dans la console d'administration

Pour que BeyondCorp Enterprise collecte et valide le certificat d'entreprise de l'appareil, vous devez importer les ancres de confiance permettant d'émettre le certificat d'appareil. Les ancres d'approbation font ici référence au certificat CA auto-signé (autorité de certification) 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 Endpoint Verification (Validation des points de terminaison).
  7. Cliquez sur Ajouter.
  8. Assurez-vous que les utilisateurs appartiennent à l'unité organisationnelle pour laquelle les ancres d'approbation sont importées.

Configurer une règle AutoSelectCertificateForUrls

Pour que la validation des points de terminaison recherche le certificat de l'appareil et le collecte 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 ou par une stratégie de groupe Windows.

    OU

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

    1. Accédez à la console d'administration, puis à Appareils &gt ; Chrome &gt ; Paramètres &gt ; Utilisateurs et paramètres ; Paramètres du navigateur &gt ; Certificats client.
    2. Sélectionnez l'unité organisationnelle appropriée.
    3. Ajoutez une règle (AutoSelectCertificateForUrls, comme dans l'exemple suivant) :
    {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{<issuerDNs>}}}
    

    REMARQUE: Le filtre doit faire référence à un certificat d'émetteur importé aux étapes précédentes.

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 de la règle S'applique à est définie sur Machine. Sur le système d'exploitation Chrome, la valeur est appliquée à Current User*.
  4. Assurez-vous que l'état de la règle n'a pas de conflit.

Résoudre les problèmes de configuration

Examinez les attributs du certificat sur la page des détails de l'appareil pour vous assurer que ceux-ci sont correctement répertoriés.

Vous pouvez utiliser les journaux Endpoint Verification pour vous aider à résoudre les 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 (Tous les journaux > Tout télécharger).
  3. Créez une demande d'assistance auprès de Cloud Customer Care et partagez les journaux pour un débogage plus approfondi.