
Définition en une phrase
Regla de diseño que concede a cada componente solo los datos y acciones mínimos necesarios durante el tiempo imprescindible.
Définition : accorder uniquement les autorisations nécessaires
Le principe du moindre privilège, également appelé principe du privilège minimal et abrégé en PoLP, consiste à accorder à chaque utilisateur, processus ou composant uniquement les autorisations nécessaires à la tâche qui lui est confiée. Cette règle concerne à la fois les ressources auxquelles une identité peut accéder et les opérations qu’elle peut y effectuer. Son objectif est de limiter les conséquences d’une erreur, d’un usage abusif ou de la compromission d’un compte ou d’un processus.
Cela ne signifie pas que toutes les identités doivent avoir les mêmes droits restreints. Le périmètre d’accès doit correspondre à la fonction précise de chacune. Un processus qui doit lire un fichier ne devrait pas pouvoir le modifier si cette capacité n’est pas nécessaire ; un service qui interroge une base de données ne devrait pas recevoir le droit d’administrer le serveur. La documentation d’IBM consacrée à AIX illustre ce principe au niveau des processus et explique que la restriction des privilèges peut limiter les dommages causés par l’exploitation d’une application qui en dispose.
Dans un système d’IA, le principe s’applique aux identités et aux ressources qui entourent le modèle : le compte qui exécute le service, l’agent qui demande des actions, les outils disponibles, les identifiants d’accès, les données consultables et les connexions réseau. Cela ne signifie pas que le modèle possède lui-même une identité au niveau du système d’exploitation. Cette identité appartient généralement au processus ou au service qui exécute le modèle, ou au composant qui effectue des appels en son nom.
Pour approfondir le sujet, consultez le [glossaire](/glossary/), la fiche sur le [principe du moindre privilège](/glossary/principio-menor-privilegio) et le [comparatif](/compare/).
Fonctionnement : identités, autorisations et périmètre
La première étape consiste à identifier les composants capables d’agir. Dans une architecture simple, le backend peut avoir une identité de service, l’accès à une base de données une autre, et un outil externe des identifiants distincts. Dans une architecture avec agents, il est utile de distinguer le modèle qui génère une réponse, l’orchestrateur qui l’interprète et les outils qui exécutent des opérations. Restreindre une couche ne limite pas automatiquement les autres : chaque autorisation doit être appliquée au composant qui l’utilise.
Il faut ensuite délimiter les droits. Les rôles peuvent regrouper les autorisations correspondant à des fonctions courantes ; des contrôles plus précis peuvent limiter les opérations selon la ressource, l’action ou le contexte. Par exemple, autoriser la lecture de certaines tables n’équivaut pas à accorder des droits d’écriture sur toute la base. Les attributions doivent être réexaminées lorsque la tâche, le service ou la sensibilité des données évolue.
Les privilèges temporaires réduisent la durée pendant laquelle une capacité est disponible. Si une tâche ponctuelle exige une opération d’administration, cette autorisation peut être accordée pour une période limitée, puis retirée. La durée limitée permet de réduire le périmètre d’accès, mais ne suffit pas à rendre une opération sûre : l’identité doit toujours être correctement authentifiée, une politique doit autoriser l’opération et des contrôles doivent empêcher l’utilisation de l’identifiant hors du contexte prévu.
Les restrictions réseau peuvent aussi contribuer à la sécurité lorsqu’elles limitent les connexions aux seules destinations nécessaires au service. Elles ne sont toutefois pas équivalentes aux autorisations portant sur les données ou les opérations : un serveur peut être isolé d’Internet tout en disposant de droits excessifs sur les fichiers locaux. Une conception efficace combine des contrôles complémentaires au lieu de supposer qu’une seule barrière suffit à appliquer le principe dans son ensemble.
Déterminer les autorisations nécessaires à chaque composant
La politique doit décrire des capacités précises et éviter les privilèges génériques lorsqu’il est possible de restreindre les droits par ressource et par opération.
| Composant ou identité | Besoin associé à la tâche | Autorisation délimitée | À éviter par défaut |
|---|---|---|---|
| Processus d’inférence | Charger le modèle et traiter les requêtes | Lire les fichiers indispensables et utiliser les ressources attribuées | Fonctionner en tant qu’administrateur ou modifier des fichiers système sans nécessité |
| Outil de requête | Récupérer les informations autorisées | Lire uniquement les tables ou documents autorisés | Écrire dans la base, supprimer des données ou l’administrer |
| Connecteur externe | Envoyer une requête à un service donné | Accéder à la destination et effectuer l’opération nécessaire | Utiliser un jeton étendu réutilisable sur plusieurs services |
Trois exemples d’application aux systèmes d’IA
Agent d’entreprise avec accès en lecture seule. Si un agent doit répondre à des questions à partir d’informations internes, le compte qui interroge les données peut être limité à la lecture et aux tables nécessaires. Les opérations qui modifient des enregistrements devraient être exclues de cette identité, sauf si un cas d’usage approuvé l’exige. Si des actions d’écriture sont activées, elles doivent être autorisées séparément et vérifiées par le service qui les exécute ; une instruction dans le prompt ne constitue pas un contrôle des autorisations.
Serveur d’inférence local dont l’accès réseau est restreint. Un service qui ne reçoit que des connexions locales peut être configuré pour écouter sur une adresse de bouclage, telle que 127.0.0.1, plutôt que sur toutes les interfaces. Cela limite les connexions possibles depuis le réseau, mais ne détermine pas les fichiers que le processus peut lire, les commandes qu’il peut exécuter ou les composants locaux qui peuvent l’appeler. L’adresse d’écoute est un exemple de réduction de l’exposition, pas une application complète du PoLP.
API d’IA avec des identifiants aux droits limités. Une application qui appelle un fournisseur ou un service interne peut utiliser un identifiant autorisé pour la ressource et l’opération nécessaires. Si le système accepte des identifiants temporaires, leur durée peut être limitée ; sinon, il est possible de restreindre leur portée et leurs autorisations et de prévoir leur révocation, selon les fonctions disponibles. Un jeton à usage unique n’est pas une exigence universelle du principe : il ne faut le mettre en place ou le présenter comme une possibilité que si le service le permet et si le flux de travail en a besoin. L’identifiant ne devrait pas non plus être exposé au modèle si le backend peut le conserver et l’utiliser à sa place.
Ce que le principe n’est pas : authentification, isolation et garde-fous
L’authentification et le moindre privilège répondent à des questions différentes. L’authentification vérifie une identité ou valide des identifiants ; l’autorisation détermine ce que cette identité peut faire. Une authentification forte peut réduire le risque qu’une personne non autorisée utilise un compte, mais elle ne corrige pas l’attribution de droits excessifs. À l’inverse, une politique restrictive ne prouve pas à elle seule qui utilise le compte.
L’isolation réseau et l’air gap ne sont pas non plus synonymes du PoLP. Un environnement déconnecté des réseaux externes peut limiter certains chemins d’accès, mais les processus qui y fonctionnent peuvent toujours avoir plus de capacités locales que nécessaire. L’isolation et le moindre privilège peuvent se compléter : l’une restreint les canaux ou les domaines de communication ; l’autre limite les droits de chaque identité.
Les garde-fous, ou guardrails, sont des contrôles destinés à orienter ou à limiter les entrées, les sorties et les actions d’un système d’IA. Ils peuvent contribuer à réduire les réponses ou usages indésirables, mais ne remplacent pas l’autorisation appliquée aux bases de données, aux fichiers, aux outils ou aux API. Si un modèle propose une action interdite, le contrôle décisif doit être réalisé par l’outil ou le service qui l’exécute. Il ne faut pas se fier uniquement à l’obéissance du modèle à une instruction.
Zero Trust est une approche architecturale plus large qui inclut la vérification des requêtes et des contrôles d’accès. Le PoLP peut en faire partie en réduisant les capacités accordées, mais les deux termes ne sont pas interchangeables. La séparation des tâches, quant à elle, répartit les opérations ou les approbations afin qu’une seule identité ne concentre pas toutes les capacités importantes. Elle peut être combinée au moindre privilège, mais répond à un risque différent.
Distinguer des contrôles souvent confondus
Ces mécanismes peuvent être utilisés ensemble ; chacun contrôle une dimension différente.
| Concept | Question traitée | Lien avec le PoLP |
|---|---|---|
| Authentification | Qui, ou quel système, présente la requête ? | Elle identifie ou valide l’identité, mais ne définit pas à elle seule les autorisations |
| Autorisation | Quelle opération est permise sur quelle ressource ? | C’est à ce niveau que s’expriment les autorisations minimales |
| Isolation | Quels systèmes ou réseaux peuvent communiquer ? | Elle peut réduire l’exposition, mais ne remplace pas les droits locaux |
| Garde-fous | Quel contenu ou quelles actions le système d’IA cherche-t-il à éviter ? | Ils complètent les règles d’accès et ne doivent pas constituer l’unique barrière |
| Zero Trust | Comment l’accès est-il vérifié et contrôlé dans une architecture ? | Approche plus large pouvant inclure le moindre privilège |
Limites opérationnelles des agents et des systèmes dynamiques
Dans un système traditionnel, la tâche d’un processus est souvent relativement circonscrite. Un agent peut, au contraire, choisir des outils et enchaîner des étapes selon la requête et les résultats intermédiaires. Il devient donc plus difficile de déterminer à l’avance l’ensemble minimal d’autorisations. Le principe reste toutefois applicable : il faut définir les tâches autorisées, séparer les capacités et vérifier chaque action au moment de son exécution.
Des autorisations trop larges augmentent les conséquences possibles d’une compromission du service ou d’une action imprévue. Des autorisations trop étroites peuvent bloquer une tâche légitime, provoquer des erreurs ou inciter à des raccourcis opérationnels, comme la réutilisation d’un compte plus largement autorisé. L’équilibre ne consiste pas à deviner une configuration parfaite : il faut tester des scénarios représentatifs, consigner les refus, en comprendre les causes et ajuster les droits après examen.
Le caractère non déterministe du comportement du modèle ne modifie pas la définition du principe. Il influe cependant sur la conception des barrières : il ne faut pas supposer que le modèle choisira toujours le bon outil ou respectera toutes les instructions. L’autorisation doit être appliquée en dehors de la génération de texte, par les services qui contrôlent les données et les opérations. Il est également utile de limiter ce qu’une seule requête peut accomplir afin qu’une décision erronée ne donne pas automatiquement lieu à des capacités illimitées.
Les éléments vérifiés ici étayent les fondements généraux du moindre privilège ainsi que des exemples portant sur les droits des processus, les rôles et les autorisations. Ils ne décrivent pas directement une configuration universelle pour les agents, l’inférence locale ou les API d’IA. Ces exemples sont des applications techniques du principe dont la faisabilité dépend des fonctions du système d’exploitation, de la plateforme, du fournisseur et de la conception de l’application.
Procédure pratique pour ajuster les autorisations d’un agent
Traitez chaque modification comme un changement à examiner. N’accordez pas de droits permanents supplémentaires pour corriger un problème ponctuel.
- 01Décrivez la tâche autorisée et répertoriez les données, outils et opérations nécessaires.
- 02Attribuez des identités distinctes aux composants qui ont des besoins d’accès différents.
- 03Commencez par des autorisations limitées à une ressource et à une opération ; évitez les identifiants d’administration partagés.
- 04Testez les tâches qui doivent réussir ainsi que les refus, notamment les tentatives d’accès à des outils ou données sans rapport avec la tâche.
- 05Consignez les décisions d’autorisation et vérifiez si les droits accordés sont toujours nécessaires.
- 06Si une tâche légitime échoue, identifiez l’autorisation manquante et élargissez les droits uniquement dans le périmètre et pour la durée nécessaires.
Critères de décision et concepts associés
L’IAM, ou gestion des identités et des accès, regroupe des pratiques permettant de gérer les identités, l’authentification et les autorisations. Le PoLP est un principe de conception qui peut être appliqué au moyen de ces mécanismes ; ce n’est ni un produit ni une technique unique. Le contrôle d’accès fondé sur les rôles peut faciliter l’attribution répétée des droits, mais un rôle mal défini peut en accorder trop. Il faut donc vérifier les opérations réellement permises, et pas seulement le nom du rôle.
La séparation des tâches exige que certaines opérations ou étapes critiques ne dépendent pas d’une seule personne ou identité. Par exemple, une identité peut préparer une modification et une autre l’approuver. Le PoLP limite les capacités individuelles ; la séparation répartit les capacités ou les décisions. Une politique solide peut combiner les deux lorsque le risque et le processus le justifient.
Lors de l’évaluation d’une intégration d’IA, demandez quelle identité effectue chaque appel, quelle ressource elle atteint, quelles opérations lui sont autorisées et ce qui se passe si le processus se comporte de manière inattendue. Vérifiez également si les autorisations peuvent être révoquées, si les identifiants restent hors du contexte du modèle et si les refus peuvent être diagnostiqués sans accorder un accès général. Les réponses dépendent de la mise en œuvre : elles ne doivent pas être déduites d’étiquettes telles que « agent sécurisé » ou « Zero Trust ».
Le principe s’applique dès qu’une identité peut accéder à des ressources protégées et qu’il faut limiter ses capacités au travail prévu. En pratique, il s’agit d’accorder le minimum permettant d’accomplir de manière fiable une tâche autorisée, de vérifier ce minimum dans le système qui exécute l’action et de le réexaminer lorsque la tâche, les données ou l’architecture changent.
Critères à vérifier avant d’accorder une autorisation
Utilisez ces critères pour examiner un compte de service, un outil d’agent, un connecteur de données ou une API.
| Critère | Question à examiner | Signal d’alerte ou de réexamen |
|---|---|---|
| Identité | Quel composant utilise cette autorisation ? Dispose-t-il d’une identité distincte ? | Plusieurs fonctions reposent sur un compte partagé sans séparation claire |
| Ressource et opération | L’accès est-il limité à la ressource et à l’opération concernées ? | Autorisation globale alors qu’une simple lecture ou un sous-ensemble suffit |
| Durée | L’autorisation peut-elle être retirée à la fin de la tâche ? | Accès élevé permanent pour un besoin ponctuel |
| Exécution | Le service qui effectue l’action vérifie-t-il l’autorisation ? | La politique repose uniquement sur les instructions données au modèle |
| Réexamen | Peut-on vérifier l’usage et ajuster l’autorisation ? | Absence de responsable, de journaux exploitables ou de procédure de révocation |