Configurer les conditions de certificat d'entreprise

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

Principes de base de BeyondCorp Enterprise : "L'accès aux services dépend des informations disponibles concernant l'identité et l'appareil de l'utilisateur". Le niveau d'accès accordé à un utilisateur ou à un appareil est déterminé de manière dynamique par l'interrogation de 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 d'accès précis et basé sur des attributs pour les applications et les ressources Google Cloud.

Utilisez les niveaux d'accès pour autoriser l'accès aux ressources en fonction d'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 d'un petit groupe d'individus très privilégiés. Vous pouvez également identifier un groupe plus général de confiance, tel qu'une plage d'adresses IP depuis 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 conditions clés pour un 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 savoir si un appareil appartient à une entreprise. L'une de ces méthodes consiste à déterminer si un certificat valide émis par l'entreprise existe sur l'appareil. L'existence d'un certificat d'entreprise sur un appareil permet d'indiquer que l'appareil appartient à l'entreprise.

Les certificats d'entreprise pour l'accès contextuel sont une fonctionnalité de la solution globale BeyondCorp Enterprise d'accès par certificat. Cette fonctionnalité exploite les certificats d'appareil en tant qu'indicateur contextuel contextuel pour déterminer si un appareil est un élément détenu par l'entreprise.

Un appareil peut avoir plusieurs certificats. Par conséquent, les certificats d'entreprise sont accessibles avec le 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" (||). Cela signifie que les macros renvoient la valeur "true" si au moins un certificat satisfait à l'expression predicate.

Le certificat comprend 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 Valeur "true" si le certificat est valide et n'a pas expiré (valeur booléenne). cert.is_valid
cert_fingerprint Empreinte du certificat (SHA256 non rempli en base64). cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Empreinte du certificat CA racine utilisé pour signer le certificat (SHA256 non rempli en base64). cert.root_ca_fingerprint == "the_fingerprint"
issuer Nom de l'émetteur (noms entièrement développés).

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 et la barre oblique (/) remplacée 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 complets étendus). 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 de certificat d'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 est associé à 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 des certificats d'entreprise, assurez-vous d'avoir configuré des niveaux d'accès personnalisés. Consultez la section 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 de CEL (Common Expression Language) pour tester les attributs d'un client à l'origine de la requête.

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

Pour que BeyondCorp Enterprise puisse collecter et valider le certificat d'entreprise de l'appareil, vous devez importer les ancres d'approbation utilisées pour émettre le certificat d'appareil. Les autorités de confiance font ici référence au certificat CA autosigné (autorité de certification) autosigné, ainsi qu'aux certificats intermédiaires et subordonnés pertinents. Pour importer les ancres d'approbation, 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. Vérifiez que les utilisateurs appartiennent à l'unité organisationnelle pour laquelle les ancres d'approbation sont importées.

Configurer une règle AutoSelectCertificateForUrls

Pour que la fonctionnalité Endpoint Verification puisse rechercher le certificat de l'appareil et le collecter dans 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 le service de gestion cloud du navigateur Chrome ou une stratégie de groupe Windows.
  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 clients.
    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":{<issuerDNs>}}}
    

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

Pour vérifier la configuration de la stratégie, 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 à est définie sur Machine. Sur le système d'exploitation Chrome, la valeur est appliquée à Utilisateur actuel*.
  4. Assurez-vous que l'état de la règle ne présente pas de conflit.

Résoudre les problèmes de configuration

Examinez les attributs de certificat sur la page des détails de l'appareil afin de vous assurer qu'ils sont correctement répertoriés.

Vous pouvez utiliser les journaux de la validation des points de terminaison pour résoudre les problèmes que vous rencontrez. Pour télécharger les journaux de la validation des points de terminaison, procédez comme suit:

  1. Effectuez un clic droit sur l'extension Endpoint Verification, puis accédez à Options.
  2. Sélectionnez Niveau de journalisation > Tous > Télécharger les journaux.
  3. Créez une demande d'assistance auprès du service client Cloud et partagez les journaux pour un débogage supplémentaire.