Dépannage DKE
Ce chapitre se concentre sur le Double Key Encryption (DKE) pour Microsoft 365 : le chemin depuis un client Office, à travers les étiquettes de confidentialité Microsoft Purview, jusqu'à votre point de terminaison de clé DKE DuoKey sur site (le conteneur de l'API KMS).
L'approche de diagnostic présentée ici est alignée sur les recommandations officielles de dépannage DKE de Microsoft, adaptées à un déploiement DuoKey sur site et conteneurisé où le service DKE s'exécute en tant que pod API KMS derrière l'OpenShift Ingress Router.
Comment DKE s'articule
Deux clés protègent le contenu : la clé gérée par Microsoft et votre clé DKE, qui ne quitte jamais votre point de terminaison sur site. Si l'un des côtés de ce flux est rompu, les utilisateurs ne peuvent ni appliquer ni ouvrir du contenu protégé par DKE.
Étape 1 — Le point de terminaison de clé DKE est-il accessible ?
Le premier test le plus rapide. Depuis un réseau client, ouvrez l'URL de clé dans un navigateur :
https://<dke-endpoint>/<keyname>
- Attendu : une réponse JSON contenant la clé publique (
kid,key, métadonnées de la clé). - Rien / expiration / connexion refusée : problème de réseau, DNS, ingress ou pod.
Vérifications côté cluster :
oc get route -n duokey # la route DKE/KMS est-elle présente ?
oc get pods -n duokey -l app=duokey-kms-api # le pod de l'API KMS est-il Running/Ready ?
oc logs -n duokey -l app=duokey-kms-api --tail=200
curl -I https://<dke-endpoint>/<keyname> # statut + TLS
| Symptôme | Cause probable | Résolution |
|---|---|---|
| Connexion refusée / expiration | Pare-feu / DNS / pas de route | Autoriser le 443 vers le point de terminaison ; vérifier que le DNS public résout vers le LB ; contrôler la route OpenShift |
| 502 / 503 | Aucun pod d'API KMS sain | Corriger d'abord les pods de l'API KMS (oc describe, oc logs) |
404 sur /<keyname> | Nom de clé incorrect | Confirmer que le nom de la clé correspond à la configuration de clé déployée |
Étape 2 — Confiance TLS / certificat
Les clients DKE exigent un certificat TLS valide et approuvé sur le point de terminaison.
| Symptôme | Cause | Résolution |
|---|---|---|
certificate not trusted dans le navigateur/Office | Le point de terminaison utilise une AC non approuvée/privée | Utiliser un certificat approuvé par les clients, ou distribuer votre AC interne aux clients |
| Échec de la négociation / réinitialisation | Incompatibilité de version TLS / de suite de chiffrement | Aligner le tlsSecurityProfile de l'Ingress sur les exigences des clients (Sécurité réseau) |
| Incompatibilité de nom | CN/SAN du certificat ≠ nom d'hôte du point de terminaison | Réémettre le certificat avec le bon SAN |
Étape 3 — Authentification (Entra ID)
DKE autorise les demandes de clé à l'aide d'un jeton Entra ID (Azure AD). La plupart des erreurs « impossible d'obtenir la clé » sont des incompatibilités émetteur/audience.
Vérifiez la configuration de l'API KMS / DKE (fournie sous forme de ConfigMap/Secret,
équivalent au fichier appsettings.json de Microsoft) :
| Paramètre | Doit correspondre à |
|---|---|
| Émetteurs valides | L'émetteur de votre locataire Entra ID (https://sts.windows.net/<tenantId>/ ou v2 login.microsoftonline.com/<tenantId>/v2.0) |
| Audience / audience JWT | L'App ID URI / ID client de l'application DKE enregistré dans Entra ID |
| Utilisateurs autorisés | L'adresse e-mail/UPN ou le groupe autorisé à demander des clés |
| ID de locataire | Votre locataire Entra ID |
# Inspecter la configuration DKE en cours d'exécution (masquer les secrets)
oc get configmap duokey-kms-config -n duokey -o yaml
| Symptôme | Cause | Résolution |
|---|---|---|
| 401 Unauthorized | Incompatibilité émetteur/audience, ou jeton absent/expiré | Corriger ValidIssuers/Audience ; confirmer l'enregistrement de l'application Entra |
| 403 Forbidden | Utilisateur absent de la liste autorisée | Ajouter l'utilisateur/le groupe aux utilisateurs autorisés |
| Fonctionne pour l'administrateur, pas pour les utilisateurs | Portée de l'autorisation | Revoir le mappage des utilisateurs autorisés / des groupes |
Assurez-vous que l'enregistrement de l'application DKE dans Entra ID existe, expose l'audience/App ID URI attendue, et que le consentement administrateur a été accordé. Une incompatibilité émetteur/audience est la cause d'échec DKE la plus courante.
Étape 4 — Configuration de l'étiquette de confidentialité (Purview)
L'étiquette de confidentialité DKE doit pointer vers votre point de terminaison et être publiée.
- Dans Microsoft Purview, les paramètres de chiffrement de l'étiquette DKE
doivent contenir l'URL exacte du point de terminaison DKE
(
https://<dke-endpoint>). - La stratégie d'étiquette doit être publiée auprès des utilisateurs cibles.
- Prévoyez du temps pour la propagation de l'étiquette/stratégie vers les clients.
| Symptôme | Cause | Résolution |
|---|---|---|
| Étiquette absente dans Office | Stratégie non publiée / non propagée | Publier la stratégie ; attendre la synchronisation ; se déconnecter/reconnecter |
| L'étiquette s'applique mais le contenu est illisible ailleurs | Point de terminaison inaccessible pour cet utilisateur | Revérifier les étapes 1 à 3 depuis le réseau affecté |
| Point de terminaison incorrect | Faute de frappe dans l'URL de l'étiquette | Corriger l'URL du point de terminaison DKE sur l'étiquette |
Étape 5 — Client Office
| Symptôme | Cause | Résolution |
|---|---|---|
| « Une erreur s'est produite » lors de l'application/l'ouverture | Point de terminaison inaccessible ou échec d'authentification | Exécuter les étapes 1 et 3 depuis le réseau du client |
| Un client plus ancien ne peut pas utiliser DKE | La build ne prend pas en charge DKE | Mettre à jour vers une build Microsoft 365 Apps compatible DKE |
| Échecs intermittents après un changement de configuration | Jeton / cache obsolète | Se déconnecter et se reconnecter ; vider le cache des identifiants Office |
| Fonctionne en ligne, échoue hors ligne | DKE nécessite l'accès au point de terminaison à l'ouverture | Le point de terminaison doit être accessible chaque fois qu'un contenu protégé est ouvert |
Liste de contrôle de bout en bout
- Le point de terminaison de clé renvoie une clé publique JSON dans un navigateur :
https://<dke-endpoint>/<keyname> - Les pods de l'API KMS sont
Running/Ready; la route est présente - Le certificat TLS est valide et approuvé par les clients
- L'émetteur et l'audience Entra ID correspondent à la config DKE
- L'utilisateur figure dans les utilisateurs/le groupe autorisés
- L'étiquette DKE pointe vers le bon point de terminaison et est publiée
- Le client Office est une build compatible DKE et peut atteindre le point de terminaison
Escalade vers DuoKey
Collectez et envoyez à [email protected] :
oc logs -n duokey -l app=duokey-kms-api --tail=500
oc get route,pods -n duokey
oc get configmap duokey-kms-config -n duokey -o yaml # masquer les secrets
Incluez : l'erreur exacte, si le test du point de terminaison de clé dans le navigateur réussit, le ou les utilisateurs affectés, et tout changement récent d'étiquette ou d'Entra ID.