Agentidentiteit
Wat is een agentidentiteit?
Een agentidentiteit is een account dat aan een AI-agent toebehoort in plaats van aan een persoon. De agent meldt ermee aan, krijgt er eigen rechten op, en verschijnt onder zijn eigen naam in je logs.
Dat klinkt vanzelfsprekend tot je bekijkt hoe de meeste agents vandaag effectief draaien. Ze gebruiken het account van de collega die ze gebouwd heeft, of een API-sleutel in een configuratiebestand, of een gedeeld serviceaccount dat toch al overal bij kon zodat niemand erover moest nadenken. Die drie werken prima tot aan de eerste vraag die je niet kan beantwoorden, en dat is meestal de vraag wie dit gedaan heeft.
Microsoft noemt dit non-human identities. De redenering achter een eigen identiteit voor agents is eenvoudig. Bedrijven zetten vandaag agents in die assisteren, agents die zelfstandig handelen, en agents die zich vrij gelijkaardig gedragen aan een gebruiker. Die hebben een eigen soort identiteit nodig, zodat je ze kan authenticeren, autoriseren, beheren en beschermen zoals je dat voor mensen al doet.
Waarom een gedeeld serviceaccount niet volstaat
Er lopen vier dingen mis, en elk daarvan komt pas bovendrijven op het slechtst mogelijke moment.
Je verliest het spoor. Als vijf agents en twee koppelingen allemaal aanmelden met hetzelfde serviceaccount, dan vertelt een logregel je dat dat account iets gedaan heeft en verder niets. Je kan niet zeggen welke agent het was, en dus kan je ook niet zeggen waarom.
Rechten kunnen alleen maar groeien. Een gedeeld account verzamelt alles wat iedereen die er ooit iets aan hing nodig had. Niemand durft er nog een recht af te halen, want niemand weet wat er nog van gebruikmaakt. Minimale rechten wordt daarmee in de praktijk onmogelijk.
De agent erft een persoon. Een agent die onder het account van een medewerker draait, kan aan alles waar die medewerker aan kan, en dat is bijna nooit wat je bedoelde. Verandert die persoon van functie of vertrekt hij, dan valt de agent stil of draait hij verder op een account dat al lang dicht had gemoeten.
Je kan er geen regel op zetten. Toegangsregels, risicodetectie en periodieke controles hebben allemaal iets nodig om aan te hangen. Is de agent geen identiteit, dan is er niets om ze aan te hangen.
Wat kan zodra een agent een identiteit heeft
Het punt van de agent een echt object in je directory maken, is dat al je bestaande machinerie er dan op begint te werken.
Toegangsregels. Conditional access kan op agents slaan, dus je kan beperken bij welke bronnen een agent mag en van waar, net zoals je dat voor je personeel doet.
Risicodetectie. Identity protection kan agents markeren die zich riskant gedragen, en dat is precies wat je wil als de gegevens van een agent ergens terechtkomen waar ze niet horen.
Eigenaarschap. Elke agentidentiteit krijgt een sponsor of een eigenaar, en dat is de persoon bij wie de controlevraag terechtkomt. Dit is het veld dat een register belet te verouderen.
Levenscyclus. Levenscyclusprocessen kunnen de toegang van een agent intrekken zodra ze niet meer nodig is, zodat een agent zijn rechten niet langer houdt dan het project dat hem opgeleverd heeft.
Logs. Aanmeldingen en activiteit worden gelogd onder de eigen naam van de agent, en dat is wat een controle achteraf mogelijk maakt.
Microsoft heeft dit ook zo gebouwd dat het niet enkel over agents uit Microsoft-gereedschap gaat. Agents die op andere platformen gebouwd zijn, kunnen ook een beheerde identiteit krijgen, via een authenticatie-SDK of via workload identity federation. De protocollen die daarbij komen kijken, zijn degene die je verwacht: OAuth 2.0 voor autorisatie, MCP voor toegang tot tools, en A2A voor communicatie tussen agents onderling. Let wel: de volledige set beveiligingsfuncties van Entra uitbreiden naar agents vraagt een Microsoft Agent 365-licentie, dus dit is een budgetlijn en niet enkel een schakelaar.
Hoe dit zich verhoudt tot een agentregister
Deze twee worden vaak samen genoemd en ze zijn niet hetzelfde.
Een agentregister beantwoordt de vraag welke agents er bestaan, wie ze bezit en waar ze voor dienen. Het is een inventaris.
Een agentidentiteit beantwoordt de vraag wie de agent is op het moment dat hij aanmeldt en waar hij bij mag. Het is een aanmeldgegeven met regels eraan.
Je hebt allebei nodig, en ze versterken elkaar. Een identiteit zonder registerlijn levert je een account op dat niemand kan uitleggen. Een registerlijn zonder identiteit levert je een beschrijving op van een agent die nog altijd met de login van iemand anders werkt.
Waar moet je op letten bij agentidentiteiten
Geef de agent minder dan de persoon die hem bouwde. De verleiding is groot om de rechten van de bouwer te kopiëren zodat het van de eerste keer werkt. Vertrek liever van wat de agent aantoonbaar nodig heeft, en voeg toe in plaats van af te nemen.
Een agent die voor een gebruiker handelt, is een apart geval. Er is een verschil tussen een agent die iets in eigen naam doet en een agent die iets doet namens een collega. In het tweede geval moeten ook de rechten van die collega gelden, en moet de log allebei vastleggen. Beslis welke van de twee je bouwt voor je hem instelt.
Zet er een einddatum op. Een agent die voor één project gebouwd is, hoort toegang te hebben die met dat project ophoudt. Zonder datum blijft die toegang bestaan tot iemand het opmerkt, en niemand merkt het op.
Meer tools betekent meer blootstelling. Elke tool die je aan een agentidentiteit hangt, vergroot wat een geslaagde prompt injection in gang kan zetten. Kijk de toollijst op hetzelfde moment na als de rechten, want los van elkaar ziet elk van de twee er redelijk uit.