Aller au contenu principal
S'applique à :
DuoKey Cockpit v2Microsoft 365 / PurviewDouble Key Encryption

Cette page documente les fonctions de configuration DKE 365 exposées par DuoKey Cockpit v2. Pour le flux de travail du Cockpit v1 historique, consultez les sections Configuration et Opérations de ce guide.

Vérifier et déployer le service DKE
Vérifier et déployer le service DKE

Deux familles de points de terminaison​

DKE 365 expose deux types de points de terminaison :

  • Une surface de gestion utilisée par les administrateurs du Cockpit pour déployer, configurer et gérer les services DKE. Elle est protégée par une session utilisateur Cockpit et le contrôle d'accès basé sur les rôles de la plateforme.
  • Le protocole DKE public que Microsoft 365 / Office appellent directement : GetKey est public, tandis que Decrypt valide un jeton porteur Azure AD lorsqu'il est configuré et applique la politique d'accès liée.

Cycle de vie du service​

États du cycle de vieTEXT

Provisioned → Running → Disabled → Stopped (+ Failed)

Seul un service à l'état Running sert les requêtes de déchiffrement.

Gérer un service​

Depuis le Cockpit, vous pouvez déployer un nouveau service DKE, valider qu'une clé est compatible DKE, l'activer (ce qui provisionne automatiquement l'app Azure AD), le désactiver ou l'arrêter, faire pivoter sa clé (voir Rotation des clés et historique des clés), et surveiller son état de santé ainsi que les indications d'intégration (DNS / CNAME). Microsoft 365 / Office appellent ensuite directement les points de terminaison du protocole public du service (version, GetKey et Decrypt).

État de santé du service DKE — statut et vérifications des points de terminaison
État de santé du service DKE — statut et vérifications des points de terminaison

Champs de configuration du service​

Un service DKE se configure avec :

Identité et routage

name, description, slug (un GUID utilisé pour construire l'URL du service), key_id (la clé RSA-2048/4096 liée), key_name (exposé dans l'URL kid publiée), status.

Algorithme

algorithm : RSA-OAEP-256 (par défaut) ou RS256.

Historique des clés

Une clé retirée de la rotation reste en déchiffrement seul dans l'historique des clés du service jusqu'à ce qu'un administrateur la retire — voir Rotation des clés et historique des clés. cache_duration_hours (24 par défaut) reste accepté sur le service.

Azure AD / Entra

azure_tenant_id, azure_client_id, azure_audience, allowed_domains (domaines partenaires B2B, chacun étant associé aux émetteurs valides de son propre tenant), identity_provider_id (identifiants Graph utilisés pour provisionner automatiquement l'app).

mTLS optionnel

mtls_enabled, mtls_client_ca_pem, mtls_allowed_subjects, mtls_header_name (par défaut X-ARR-ClientCert).

Déchiffrement permissif

allow_anonymous (honoré uniquement hors production, lorsque l'hôte active également le mode permissif ; ne doit jamais être utilisé en production).

Contrôle d'accès

access_policy_id lie une politique d'accès évaluée à chaque déchiffrement.

Déployer un service DKE — l'assistant guidé
Déployer un service DKE — l'assistant guidé

Exemple de configuration de service​

Configuration du service DKEJSON

{
"name": "Contoso DKE",
"slug": "89c3b193-af16-4887-8031-43f88d475d9d",
"key_id": "<rsa-key-uuid>",
"key_name": "dke_key",
"azure_tenant_id": "<azure-tenant-guid>",
"azure_client_id": "<app-guid>",
"azure_audience": "https://89c3b193-af16-4887-8031-43f88d475d9d.duokey365.com",
"allowed_domains": ["partner.com"],
"algorithm": "RSA-OAEP-256",
"cache_duration_hours": 24,
"mtls_enabled": false,
"allow_anonymous": false,
"access_policy_id": "<policy-uuid>",
"identity_provider_id": "<idp-uuid>"
}

Flux GetKey / Decrypt​

1

GetKey

Office récupère la JWK publique du service depuis l'URL d'étiquette (https://{slug}.{base-domain}/dke/{slug}) afin de chiffrer le contenu sous la clé publique de l'organisation. La clé publiée est une JWK RSA standard dont le kid désigne la version courante de la clé (https://{slug}.{base-domain}/dke/{slug}/{key_id}).

2

Decrypt

Office renvoie la clé encapsulée au kid enregistré dans le document. Cockpit v2 résout le service, exige le statut Running, sélectionne la clé que désigne le kid (la clé courante, ou une clé en déchiffrement seul de l'historique), effectue une validation mTLS optionnelle, valide le JWT Azure AD, applique la politique d'accès liée, puis déchiffre en RSA-OAEP dans le coffre. La clé privée ne quitte jamais le coffre.

Chaque déchiffrement est limité en débit par tenant (100 requêtes/seconde par défaut, configurable).

Sélection de la clé de chiffrement DKE
Sélection de la clé de chiffrement DKE (RSA-2048)

La clé publiée et les payloads de requête/réponse suivent le format du protocole DKE de Microsoft, de sorte qu'Office et Purview interopèrent avec le service sans configuration particulière.

Rotation des clés et historique des clés​

Depuis Cockpit 2.0.8, une rotation ne modifie pas l'URL de l'étiquette de confidentialité. Pour faire pivoter la clé manuellement ou selon un calendrier (tous les 30, 180 ou 365 jours, ou un intervalle personnalisé), voir Rotation des clés.

ÉlémentComportement
URL d’étiquetteL'URL à saisir dans l'étiquette Purview est https://{slug}.{base-domain}/dke/{slug}. Elle désigne le service, et non une clé, et elle est affichée sur la page de détail du service.
RotationLes nouveaux documents sont chiffrés avec la nouvelle clé. Le kid change ; l'URL d'étiquette ne change pas.
Clés retirées de la rotationConservées dans l’historique des clés du service en déchiffrement seul, afin que les documents chiffrés avec elles restent lisibles. Une clé retirée de la rotation n’expire plus d’elle-même.
Retrait / restaurationUn administrateur retire une clé de l’historique lorsqu’aucun document n’en a plus besoin ; une clé retirée répond 404. Une clé retirée peut être restaurée.
Renommage de cléLes URL contiennent le slug du service et l’identifiant de la clé, jamais le nom de la clé : renommer une clé ne change donc rien pour Office. Le service affiche le nouveau nom.
Étiquettes créées avant la 2.0.8

Une étiquette dont l'URL désigne une clé (https://{slug}.{base-domain}/dke/{key_id}) continue de fonctionner. Depuis la 2.0.9, elle suit aussi les rotations : elle chiffre les nouveaux documents avec la clé courante du service, sans modification de l'étiquette.

Provisionnement Azure AD (« enregistrer » le service)​

Il n'existe pas d'étape « enregistrement » distincte. L'enregistrement = déployer → activer. Lors de l'enable, si le service possède un identity_provider_id et n'a pas encore d'app Azure, Cockpit v2 appelle Microsoft Graph pour créer et configurer l'enregistrement de l'app Azure AD (URI d'identifiant / audience, URL de redirection), puis stocke les valeurs résultantes azure_client_id, azure_audience et azure_app_object_id. Les identifiants Graph proviennent soit du fournisseur d'identité du service, soit du repli hôte DKE_DEFAULT_GRAPH_* (qui nécessite Application.ReadWrite.All).

Configurer le fournisseur d'identité Azure AD
Configurer le fournisseur d'identité Azure AD

Paramètres DKE au niveau de l'hôte (environnement Cockpit v2)​

Ces variables d'environnement sont définies sur le serveur Cockpit v2 :

VariableRôle
DKE_BASE_DOMAINBase DNS pour les URL de connexion des services — chaque service est https://{slug}.{DKE_BASE_DOMAIN} (nécessite un DNS générique + TLS)
DKE_AUDIENCE_DOMAINAudience JWT / apex de l'URI d'identifiant Azure AD (se replie sur DKE_BASE_DOMAIN)
DKE_DEFAULT_GRAPH_TENANT_ID / DKE_DEFAULT_GRAPH_CLIENT_ID / DKE_DEFAULT_GRAPH_CLIENT_SECRETApp Microsoft Graph de repli utilisée pour provisionner automatiquement les enregistrements Azure AD
DKE_ALLOW_PERMISSIVE_MODEActive le déchiffrement permissif — dev/test uniquement — doit être désactivé (non défini) en production
DKE_TENANT_DECRYPT_RPS_MAXPlafond de débit de déchiffrement par tenant (100 par défaut)
DKE_JWKS_CACHE_TTL_SECSDurée de vie du cache JWKS Azure AD pour la validation du jeton de déchiffrement

Microsoft Purview​

DKE constitue le magasin de clés DKE pour Purview / MIP : les étiquettes de confidentialité de type Double Key Encryption pointent vers ces points de terminaison GetKey / Decrypt (les étiquettes sont configurées côté Microsoft — voir Étiquettes de confidentialité et Microsoft Purview). Cockpit v2 propose en outre un type d'app Purview DLP distinct pour l'intégration de la prévention de la perte de données.

Continuez avec Politiques d'accès pour contrôler qui, depuis où, et quand peut utiliser une clé DKE.