DELEGATE appelait une fonction Python. Depuis la v1.16 il peut désigner un agent AGENT-L : un fichier .agent, lu, analysé, vérifié et exécuté par le runtime, sous des droits que le parent borne.
Les droits ne croissent pas
1
GRANT ⊆ outils du parent
GRANT ne désigne que des outils que le parent déclare (E018 sinon). L’enfant n’en a pas d’autres : ils n’existent pas pour lui, ils ne sont pas seulement interdits.2
Deux politiques, la plus restrictive gagne
Chaque action de l’enfant passe par sa politique, puis par celle du parent, jugée sur l’état du parent. Un
NEVER, un DENY ou un DEFAULT DENY du parent vaut pour l’enfant ; un REQUIRE APPROVAL du parent s’impose.3
Le risque est celui du parent
L’enfant ne peut pas abaisser le risque d’un outil en le déclarant plus bas (
W142 signale l’écart) : le plafond juge sur ce que le parent déclare.Un seul chemin, un seul journal
Les actions de l’enfant ont leurs permis, leurs intentions et leurs clés d’idempotence, dans le journal du parent, sous un identifiant hiérarchiquerun>forensic#1.1:forensic:t1:a2. Une reprise durable les rejuge comme les autres, sous les deux politiques. Le contenu du fichier délégué entre dans l’identité du programme : le modifier entre un crash et la reprise est une reprise refusée.
Ce que ça ne fait pas
Une injection se règle chez le parent
La cible qu’un spécialiste rapporte est une donnée non fiable. La règle se pose chez le parent, qui plafonne l’enfant même si celui-ci n’a aucune garde :Politiques
NEVER, REQUIRE APPROVAL, DEFAULT DENY.Provenance
Pourquoi un retour de délégué n’est pas fiable.