DuoKey Cockpit — Vue d'ensemble de l'API
Tout ce qu'il faut pour appeler l'API Cockpit : URL de base, authentification, tenant, permissions, conventions et erreurs.
Deux surfaces
Le Cockpit expose deux types de surface HTTP :
| Surface | Chemin de base | Qui l'appelle |
|---|---|---|
| API de gestion | /api/… | Vos intégrations et la console Cockpit — authentifiées par un jeton porteur (bearer token) |
| Endpoints de protocole public | chemins racine tels que /dke/…, /ocsp/…, /scep/…, .well-known/est/… | Clients standards parlant un protocole public (Microsoft 365, clients ACME/EST/SCEP/CMP, répondeurs OCSP) |
L'URL de base est votre hôte Cockpit, par exemple https://cockpit.example.com. Tous les exemples ci-dessous utilisent des chemins relatifs à cet hôte.
Authentification
Les appels à l'API de gestion portent un jeton porteur (bearer token) dans l'en-tête Authorization :
Authorization: Bearer <access-token>
Voir Authentification pour savoir comment obtenir un jeton et comment fonctionnent les sessions. Les endpoints de protocole public utilisent l'authentification définie par leur propre standard (par exemple un jeton Azure AD pour le déchiffrement DKE, ou des clés de compte ACME).
Multi-tenant
Chaque requête s'exécute dans le contexte de sécurité du tenant encodé dans le jeton — vous ne passez jamais d'identifiant de tenant explicitement, et vous ne pouvez voir et modifier que les données de votre propre tenant. Certains endpoints d'administration sont au niveau host (cross-tenant) et nécessitent un jeton host ; ils sont signalés sur la page Administration de la plateforme.
Permissions
Les actions sont soumises à des permissions basées sur les rôles. Un appelant doit détenir la permission requise par la route (par exemple une permission d'émission de certificat pour émettre un certificat). Les noms de permissions sont regroupés par domaine (opérations de plateforme, PKI, administration host, etc.) et listés par endpoint sur chaque page d'API.
Conventions
| Aspect | Convention |
|---|---|
| Format | Corps de requête et de réponse en JSON ; UTF-8 |
| Identifiants | Les identifiants de ressources sont des UUID |
| Méthodes | REST standard : GET (lecture), POST (création/action), PUT/PATCH (mise à jour), DELETE (suppression) |
| Horodatages | ISO 8601 (UTC) |
| En-tête d'authentification | Authorization: Bearer <token> |
Modèle d'erreurs
Les erreurs renvoient un statut HTTP non-2xx avec un corps JSON décrivant le problème. Statuts courants :
| Statut | Signification |
|---|---|
| 400 Bad Request | Requête malformée ou échec de validation |
| 401 Unauthorized | Jeton manquant ou invalide |
| 403 Forbidden | Authentifié mais sans la permission requise (ou fonctionnalité non activée pour l'édition) |
| 404 Not Found | Aucune ressource de ce type dans votre tenant |
| 409 Conflict | Conflit d'état (par ex. un nom déjà utilisé) |
| 429 Too Many Requests | Limite de débit dépassée |
Sections de l'API
Authentification
Obtenir un jeton et comprendre les sessions
API Vaults & Clés
Gérer les vaults et le matériel de clés
API Administration
Utilisateurs, rôles, unités organisationnelles, fournisseurs d'identité, politiques d'accès
API Administration de la plateforme
Niveau host : tenants, paramètres host, éditions, fonctionnalités
API DKE
Gestion des services DKE et le protocole public GetKey / Decrypt
API PKI
CA, certificats, CRL/OCSP, émetteurs, protocoles d'enrôlement, déploiement