Aller au contenu

Accès juste-à-temps et privilèges temporaires

L’accès JIT (Just-In-Time, juste-à-temps) remplace un privilège permanent par une élévation explicitement demandée, limitée et expirante. Le compromis central est net : on réduit la fenêtre d’exploitation d’un compte compromis, mais on introduit une dépendance opérationnelle au circuit de décision. Ce compromis vaut le coût pour tout privilège d’administration ou d’accès à des données sensibles.

→ Lire l’explication complète de la marmotte

JIT contre RBAC permanent : réduire la fenêtre, pas décorer le catalogue

Section intitulée « JIT contre RBAC permanent : réduire la fenêtre, pas décorer le catalogue »

Le RBAC (Role-Based Access Control, contrôle d’accès fondé sur les rôles) répond à une question stable : quel ensemble de droits doit accompagner une fonction ? C’est approprié pour lire un outil métier, déployer dans un environnement de développement ou consulter des métriques non sensibles. Il devient dangereux lorsqu’un rôle inclut la suppression de sauvegardes, l’administration d’identités, l’export de données ou la modification de politiques de sécurité.

Un rôle RBAC attribué en continu est exploitable en continu. Peu importe qu’il ne soit utilisé que trois minutes par trimestre : un jeton volé, une session détournée ou un poste compromis peut l’exploiter à n’importe quel moment. Le JIT ne rend pas l’action moins puissante. Il réduit le temps disponible pour l’exécuter.

La recommandation est de réserver le RBAC permanent aux droits nécessaires à l’activité ordinaire, puis de placer sous JIT les privilèges qui permettent de changer les frontières de sécurité. Cela inclut notamment :

  • l’administration d’annuaires et de fédérations d’identité ;
  • l’accès administrateur aux hôtes, clusters et réseaux ;
  • la lecture ou l’export de secrets ;
  • la gestion de clés de chiffrement ;
  • les actions irréversibles sur les sauvegardes, journaux ou comptes ;
  • les permissions permettant d’attribuer de nouveaux privilèges.

Un JIT qui accorde le rôle Administrator global pendant quatre heures parce que « c’est plus pratique » est du RBAC permanent avec un minuteur décoratif. Les slides de vendeurs appellent parfois cela du zero trust. Les journaux d’audit appellent cela une zone de blast radius considérable.

Le périmètre JIT doit donc être défini par capacité technique, pas par intitulé d’équipe. Une personne chargée d’opérer une base de données n’a pas besoin d’administrer l’identité, même temporairement. Une élévation doit viser une ressource, un environnement, un ensemble d’actions et une durée. Toute portée absente de la demande devient une portée implicite, donc difficile à défendre.

Les fondations restent celles décrites dans la section identités : identité nominative, authentification forte, groupe de référence maintenu et journalisation centralisée. Sans identité fiable, le JIT ne fait que distribuer des privilèges temporaires à des pseudonymes. C’est plus rapide à auditer, certes, mais pas dans le bon sens.

Workflow d’approbation et durée d’élévation

Section intitulée « Workflow d’approbation et durée d’élévation »

Une demande JIT doit contenir au minimum l’identité demandeuse, le rôle cible, la ressource ou l’environnement, la justification, le ticket de changement associé lorsqu’il existe, et la durée souhaitée. La durée doit être choisie parmi des plafonds imposés par politique, non saisie librement avec un noble 9999 qui traîne dans un formulaire.

Le moteur de politique évalue ensuite quatre éléments : l’éligibilité de la personne, la sensibilité de l’action, le contexte et la durée. Le contexte inclut l’authentification multifacteur, l’état du poste administré, l’horaire, la présence d’un incident déclaré et l’environnement visé. Une demande vers la production ne doit pas être traitée comme une demande vers un bac à sable parce que les deux portent le même nom de rôle.

L’auto-approbation est acceptable lorsque toutes les conditions suivantes sont réunies :

  • le rôle est pré-approuvé pour la fonction ;
  • la ressource appartient au périmètre habituel ;
  • la durée reste sous un plafond court ;
  • l’authentification forte est récente ;
  • le poste satisfait les contrôles d’administration ;
  • l’action ne permet pas une escalade durable.

Une validation humaine reste nécessaire pour les actions capables de modifier la gouvernance des accès, d’exfiltrer des données sensibles, de désactiver les contrôles ou de changer les mécanismes de reprise. L’approbateur doit être distinct du demandeur et disposer d’un contexte suffisant pour refuser. Valider une demande vague du type « incident urgent » revient à signer un chèque sans montant. L’urgence existe, le flou n’est pas une propriété technique.

L’élévation doit produire un artefact expirant : appartenance temporaire à un groupe, jeton à durée limitée, certificat signé, session de bastion ou association de rôle. L’expiration est portée par le système d’autorisation ou le fournisseur d’identité, jamais par une tâche humaine censée retirer le droit plus tard. Une révocation manuelle comme mécanisme normal d’expiration finira oubliée. Vingt ans d’exploitation enseignent que le calendrier de retrait finit toujours dans le même tiroir que les plans de reprise « à tester un jour ».

La durée doit correspondre à l’action et non à la plage de travail. Quinze à trente minutes conviennent à une consultation ou à une commande ciblée. Une opération de maintenance peut justifier une à deux heures si le rôle reste étroit. Au-delà, il faut découper le travail, renouveler la demande avec justification ou revoir le modèle d’exploitation. Une élévation de huit heures accordée « pour éviter les interruptions » est un privilège permanent qui fait semblant de rentrer avant le dîner.

Exemple d’élévation SSH par certificat temporaire

Section intitulée « Exemple d’élévation SSH par certificat temporaire »

SSH (Secure Shell, protocole d’administration distante chiffré) permet de matérialiser un accès JIT par un certificat court, signé par une autorité interne. Le serveur accepte le certificat jusqu’à son expiration sans qu’une clé privée d’administration permanente soit distribuée. Un gestionnaire de secrets comme Vault, doté d’un moteur de signature SSH, peut émettre ces certificats une fois l’approbation obtenue.

Chronologie d'un accès d'administration juste-à-temps. 1 : demande nominative, avec une personne, un motif, un identifiant. 2 : approbation par quelqu'un d'autre, avec un facteur fort récent. 3 : certificat signé pour le compte ops-prod seulement, jamais root. 4 : fenêtre de 30 minutes, connexions autorisées, chaque session journalisée. 5 : expiration automatique, personne n'a à penser à retirer le droit. Les trois questions d'audit se rattachent aux étapes : qui a obtenu le droit, à la demande ; qui l'a autorisé, à l'approbation ; qu'a-t-il fait, à la fenêtre ; un même identifiant de demande relie les trois journaux. Attention : l'expiration ne ferme pas la porte déjà ouverte ; un certificat expiré empêche une nouvelle connexion, pas le shell déjà ouvert ; il faut une durée maximale de session et un proxy d'administration capable de couper.

Ce montage n’est sûr que si le serveur vérifie la clé publique de l’autorité de certification SSH, restreint les principaux autorisés et journalise le principal du certificat. Le certificat ne doit pas contenir root par défaut. Une autorité qui signe n’importe quel principal demandé transforme le JIT en distributeur de couronnes en carton.

L’artefact temporaire doit être lié à une identité humaine et à l’identifiant de demande. Les journaux doivent pouvoir répondre à trois questions : qui a obtenu le privilège, qui l’a autorisé et quelles actions ont été exécutées pendant la fenêtre. L’identifiant de corrélation doit figurer dans le journal de demande, le journal du fournisseur d’identité et, lorsque possible, dans les journaux de session.

Surface d’attaque : approbation, jetons et sessions déjà ouvertes

Section intitulée « Surface d’attaque : approbation, jetons et sessions déjà ouvertes »

Le JIT réduit l’exposition, il ne remplace ni l’authentification forte ni le contrôle de poste. Un attaquant qui contrôle une session déjà authentifiée peut demander une élévation, surtout si l’auto-approbation ne vérifie que l’appartenance à un groupe. Exiger un facteur récent et résistant à l’hameçonnage pour toute élévation sensible limite ce scénario. Les détails de l’authentification et des jetons restent liés à l’architecture cryptographique.

Le vol d’un jeton JIT reste possible durant sa validité. Le limiter par audience, ressource, durée et preuve de possession réduit la réutilisation. Un jeton porteur non lié à un client peut être rejoué depuis une autre machine jusqu’à expiration. Le chiffrement du transport ne corrige pas ce défaut : il protège le trajet, pas la copie déjà volée.

La compromission d’un approbateur constitue une voie d’escalade directe. Les approbations sensibles doivent exiger une authentification forte distincte de celle de la session courante, interdire l’auto-approbation et produire une alerte immédiate. Pour les changements de contrôle d’accès ou de clés, une double approbation peut être justifiée, à condition que les deux approbateurs ne dépendent pas de la même identité d’administration.

L’expiration ne ferme pas forcément une session établie. Un certificat SSH expiré peut empêcher une nouvelle connexion sans tuer le shell déjà ouvert. Un jeton révoqué peut cesser d’autoriser de nouveaux appels sans annuler une opération asynchrone déjà lancée. Pour les environnements à fort impact, associer le JIT à une durée maximale de session, à une réauthentification et à un proxy d’administration capable de couper la session. La révocation doit être testée sur les sessions existantes, pas seulement sur la page de démonstration du produit. Les scénarios d’attaque d’identifiants cloud méritent aussi une lecture dans la section menaces.

Exploitation : latence, exceptions, supervision et reprise

Section intitulée « Exploitation : latence, exceptions, supervision et reprise »

La latence d’approbation est le défaut qui détruit les programmes JIT en production. Si une personne attend quarante minutes pour réparer un incident, elle cherchera un compte partagé, une clé oubliée ou une règle réseau trop large. Ce comportement n’est pas une faute morale : c’est un signal de conception. Les accès de diagnostic à faible impact doivent être auto-approuvés sous condition ; les accès destructifs doivent avoir un circuit d’astreinte avec objectif de délai mesurable.

Un mécanisme break-glass reste nécessaire, mais il doit être séparé du flux JIT ordinaire. Son usage doit déclencher une alerte, imposer une justification a posteriori et entraîner la rotation des secrets concernés. Il ne faut pas en faire le raccourci usuel dès qu’un approbateur prend son café. La page JIT traite l’élévation normale, pas le contournement permanent déguisé en urgence.

Superviser au minimum le taux de refus, le délai entre demande et décision, les demandes expirées sans usage, les élévations renouvelées, les rôles les plus demandés et les usages break-glass. Un rôle JIT demandé chaque jour par la même équipe révèle généralement un droit de base mal défini ou une automatisation absente. Le corriger consiste à créer un rôle permanent plus étroit ou une identité de service contrôlée, pas à allonger la durée de l’élévation.

Sauvegarder les politiques, définitions de rôles, règles d’approbation et clés d’autorité qui signent les artefacts temporaires. La restauration doit préserver les dates d’expiration et l’historique d’audit. Restaurer une ancienne politique qui réactive des droits retirés est une escalade par sauvegarde, moins glamour qu’une attaque sophistiquée mais tout aussi efficace.

Sans élévation temporaire, les droits sensibles restent attachés aux comptes en permanence, et leur accumulation devient la norme : un changement de poste ajoute des rôles sans jamais en retirer, si bien que les revues périodiques portent sur des inventaires que plus personne ne sait justifier. La traçabilité se réduit à constater qu’un rôle existait au moment des faits, sans justification, sans approbateur, sans ticket associé, ce qui rend le cadrage d’un incident approximatif : toute personne détentrice du rôle devient suspecte par défaut. La détection perd également un signal utile, car aucun flux de demandes n’existe pour repérer une sollicitation inhabituelle de privilège. Enfin, la remédiation après compromission impose de retirer des droits durables et de rompre des opérations en cours, au lieu de laisser expirer des artefacts bornés.

L’accès juste-à-temps donne un droit puissant seulement quand une action le demande réellement. Une personne commence par s’identifier avec son compte habituel, puis demande un droit précis : administrer un serveur, modifier une règle ou consulter une donnée protégée. La demande indique pourquoi ce droit est nécessaire, sur quelle ressource et pendant combien de temps.

Le système vérifie ensuite des conditions : la personne appartient-elle au bon métier, son ordinateur respecte-t-il les règles, son identification récente est-elle assez forte, la durée demandée est-elle autorisée ? Pour une action limitée, le système peut accepter seul. Pour une action risquée, une autre personne doit valider.

Après accord, le système crée un droit temporaire. Ce droit peut prendre la forme d’un jeton, d’un certificat ou d’une appartenance temporaire à un groupe. Il possède une date de fin fixée dès sa création. À cette date, il cesse de permettre de nouvelles actions sans qu’une personne doive penser à le retirer.

Cela réduit le risque qu’un compte volé serve longtemps à attaquer. En revanche, un droit temporaire reste dangereux pendant sa durée : il faut protéger la connexion, surveiller les actions et limiter exactement ce que le droit permet. Si l’approbation est trop lente, les équipes chercheront des contournements. Si le droit est trop large, la limite de temps ne suffit pas.

À lire aussi

Pages voisines