Aller au contenu principal
S'applique à :
DuoKey Cockpit v2Approbations par quorum (M-of-N)Politiques d'accès (utilisateur · IP · pays · horaire)

Vue d'ensemble​

La gouvernance PKI réutilise deux modules de Cockpit et les lie aux ressources PKI :

  • Politiques de quorum (Administration > Politiques de quorum) : demandes d'approbation M-of-N, le même flux que celui qui protège la suppression de clés et de vaults.
  • Politiques d'accès : règles sur l'utilisateur, l'adresse IP, le pays et l'horaire, avec le même moteur d'évaluation que les autres services DuoKey.

Liaisons de gouvernance​

Une liaison associe des politiques à une ressource PKI. Elle se gère depuis la carte Gouvernance de la page de détail de la CA, de la page du modèle de certificat et de la page du jeton cryptographique de CA.

RessourcePolitique de quorumPolitique d'accèsRègle d'émission à haute valeur
CA X.509OuiOuiOui
Modèle de certificat (profil)OuiNon (la lier à la CA)Oui
Jeton cryptographique de CA (clés de signature d'un logiciel de CA externe)OuiNonNon

À l'enregistrement d'une liaison, la politique de quorum doit exister dans le tenant et imposer le double contrôle (seuil de 2 ou plus, ou demandeur exclu des approbateurs), et la politique d'accès doit exister dans le tenant.

La liaison se protège elle-même

Tant qu'une politique de quorum est liée, modifier ou supprimer la liaison nécessite l'approbation de cette politique. Un administrateur ne peut pas retirer le quorum puis agir seul. Si la politique liée a été supprimée ou désactivée, la liaison peut être réparée sans approbation.

Quorum M-of-N​

Opérations soumises​

OpérationCe qu'elle couvre
revokeRévocation de CA (simple et en cascade, console, API et MCP) ; révocation d'une clé de signature de jeton cryptographique de CA
deleteArchivage de CA ; suppression de modèle de certificat
updateModifications de CA (nom, URL de distribution de CRL, URL OCSP) ; modifications de modèle de certificat ; la liaison de gouvernance elle-même (toujours)
issueÉmission à haute valeur (voir ci-dessous)
rekeyRotation d'une clé de signature de jeton cryptographique de CA

La liste des opérations de la politique de quorum restreint cet ensemble ; une liste vide soumet toutes les opérations de la ressource. L'API REST et les clés d'API atteignent les mêmes traitements que la console et sont soumises de la même façon.

Flux d'approbation​

1

Demande

L'opérateur appelle l'opération. Si elle est soumise et pas encore approuvée, Cockpit répond HTTP 202 avec quorum_required: true, status: "pending_approval" et un request_id, sans rien faire d'autre. Les outils MCP renvoient la même réponse.

2

Vote

Les approbateurs votent dans Administration > Demandes de quorum (permission Quorum.Approve). La demande montre exactement ce qui est approuvé : CA, noms du sujet, validité, motif, modification de modèle.

3

Exécution

Une fois le seuil atteint, le même opérateur répète le même appel. L'approbation est consommée et l'opération s'exécute.

Garanti dans tous les cas :

  • Une approbation est liée à la demande exacte : un sujet, un motif ou un contenu de modèle différent ouvre une nouvelle demande d'approbation.
  • Seul l'opérateur qui a ouvert la demande peut utiliser son approbation, et une seule fois (un rejeu ou un appel concurrent reçoit HTTP 409).
  • La politique doit imposer le double contrôle lorsqu'elle est liée et lorsqu'elle est utilisée.
  • Une liaison vers une politique de quorum qui n'existe plus refuse l'opération (échec sûr). Une politique désactivée n'est pas appliquée.

Les demandes, votes, approbations utilisées et modifications de liaison sont enregistrés dans les journaux d'activité et d'audit.

Émission à haute valeur​

Une règle de haute valeur sur la CA (et éventuellement sur un modèle) désigne certaines émissions comme soumises à l'approbation par quorum. Toute clause satisfaite rend l'émission à haute valeur :

ClauseCorrespond à
Certificats de CAUn certificat de CA : création d'une CA subordonnée sous cette CA, ou demande d'un certificat de CA
WildcardUn nom DNS wildcard (*.example.com) dans le CN ou un SAN. Lorsque les noms ne peuvent pas être lus (par exemple dans une enveloppe SCEP), la clause est satisfaite : échec sûr
Validité supérieure à N joursUne validité strictement supérieure à N jours
Toujours (modèles)Toute émission avec le modèle

Lorsque la règle d'un modèle est satisfaite et que ce modèle a sa propre politique de quorum, celle-ci s'applique ; sinon c'est celle de la CA.

Chemin d'émissionÉmission à haute valeur
Console et API REST (émission sous une CA, CA intermédiaire, émission et renouvellement via l'émetteur CA interne, certificat d'unité d'horodatage)202, flux d'approbation
Outils MCP (émettre, signer un CSR, renouveler, créer une CA émettrice, émettre via un émetteur, déployer un certificat PQC)Réponse en attente, flux d'approbation
ACME, EST, SCEP, CMP, cert-manager, enrôlement automatique WindowsRefusée : ces protocoles ne peuvent pas porter une approbation, émettez donc les certificats à haute valeur de façon interactive
Renouvellement automatique, émission S/MIME géréeRefusée

Politiques d'accès sur les CA​

Une politique d'accès liée à une CA est évaluée sur :

  • toute émission sous la CA, sur tous les chemins ci-dessus, sauf les tâches propres de la plateforme (renouvellement automatique et automatisation S/MIME ; une émission S/MIME déclenchée par un opérateur est évaluée) ;
  • toute révocation sous la CA : console et API, émetteur CA interne, S/MIME, MCP, ACME revoke-cert et CMP rr ;
  • la révocation de la CA (simple et en cascade).

Attributs par canal​

CanalIP sourcePaysHoraireUtilisateur
Console, API REST, clé d'APIOuiOuiOuiL'adresse e-mail de l'utilisateur
MCPNonNonOuiL'adresse e-mail du propriétaire de la clé MCP
ACMEOuiOuiOuiacme-account:<id>
Enrôlement automatique WindowsOuiOuiOuiLe principal authentifié, sinon ms-enroll-endpoint:<id>
ESTOuiOuiOuiL'utilisateur HTTP Basic ou l'identité du certificat client
SCEPOuiOuiOuiscep-profile:<id>
CMPOuiOuiOuicmp-alias:<name>
cert-managerOuiOuiOuicert-manager-issuer:<id>

Les adresses client transmises ne sont reconnues que depuis des proxys de confiance configurés ; sinon le pair TCP est utilisé. Les règles de pays nécessitent un edge Cloudflare de confiance ou une base GeoIP locale ; sans l'un ou l'autre, elles ne peuvent pas être satisfaites.

Les règles de groupe ne peuvent pas être satisfaites sur les chemins PKI : aucun canal PKI ne transporte l'appartenance aux groupes du fournisseur d'identité. Lorsque toutes les catégories de règles doivent être satisfaites, une politique comportant des règles de groupe refuse donc toute requête PKI.

Comportement en échec sûr​

  • Une règle dont l'attribut manque ne peut pas être satisfaite ; sans règle d'autorisation satisfaite, la requête est refusée.
  • Une liaison vers une politique d'accès qui n'existe plus refuse.
  • Une erreur d'évaluation ou de base de données refuse.
  • Une politique désactivée n'est pas évaluée.

Chaque décision est enregistrée dans la piste d'audit des politiques d'accès avec le canal, l'IP et le pays de l'appelant, et la CA.

API​

Liaison de gouvernanceHTTP
GET /api/pki/governance/<resource_type>/<id>     (Operations.Pki.Governance.Read)
PUT /api/pki/governance/<resource_type>/<id>     (Operations.Pki.Governance.Manage)

{
"quorum_policy_id": "uuid or null",
"access_policy_id": "uuid or null",
"high_value": { "ca_certificates": true, "wildcard": true, "validity_days_over": 397, "always": false },
"reason": "optional, shown to approvers"
}

resource_type vaut ca, template ou ca_crypto_token. Une politique d'accès ne peut être liée qu'à une CA, une règle de haute valeur qu'à une CA ou un modèle, et validity_days_over doit être compris entre 1 et 36 500.

Hors périmètre​

  • Il n'existe pas de renouvellement de clé en place pour une CA X.509 (la clé d'une CA est fixée à sa création) ; le renouvellement de clé est soumis là où il existe, sur les clés de signature des jetons cryptographiques de CA.
  • La suspension, la réactivation et le désarchivage d'une CA ne sont pas soumis (ils sont réversibles).
  • La génération d'une CRL avec une liste explicite de numéros de série n'est soumise ni au quorum ni aux politiques d'accès.
  • Les CA Merkle Tree, les CA SSH et les émetteurs externes (CA publiques atteintes par des connecteurs) ne sont pas couverts par ces liaisons.
  • Modifier ou désactiver une politique de quorum ou une politique d'accès est une action d'un seul administrateur dans son propre module, comme pour les clés et les vaults.
  • Pour les demandes CMP au format CRMF, seul le CN du sujet est lu pour la règle wildcard ; les SAN du modèle CRMF ne le sont pas.