Agents horen least privilege te krijgen
Een agent heeft zelden volledige toegang tot een applicatie nodig. Maak liever specifieke serviceaccounts of endpoints die alleen de toegelaten acties ondersteunen. Als een agent enkel klantdata moet opzoeken, hoeft hij geen records te kunnen verwijderen of exporteren. Het beperken van capabilities verkleint zowel de impact van fouten als van misbruik.
Behandel een agent alsof je een nieuwe softwareclient toegang geeft tot bedrijfsdata. Maak aparte serviceaccounts, scopes en endpoints die alleen toelaten wat de use case nodig heeft. Een agent die informatie moet opzoeken heeft bijvoorbeeld geen delete-permissie nodig. Least privilege verkleint de impact van zowel model- als configuratiefouten.
Secrets horen nooit in modelcontext
API-keys, wachtwoorden en andere credentials horen in server-side secret storage en worden alleen gebruikt door de toollaag die de echte API-call uitvoert. Het model hoeft de sleutel zelf niet te zien. Zo voorkom je dat secrets in prompts, logs of modeloutput terechtkomen.
Credentials horen nooit als leesbare tekst in prompts of modelcontext. De tool- of servicelaag gebruikt secrets server-side en geeft het model alleen het resultaat terug dat voor de taak nodig is. Zo voorkom je dat sleutels via logs, foutmeldingen of gegenereerde output kunnen uitlekken.
Autoriseer opnieuw op het moment van de actie
Een eerder geauthenticeerde gebruiker betekent niet dat elke door een agent voorgestelde actie automatisch mag. Controleer bij gevoelige acties opnieuw identiteit, rol, scope en objectniveau. De agent kan voorstellen wat moet gebeuren, maar de server bepaalt of de concrete actie voor deze gebruiker en deze resource toegestaan is.
Autorisatie moet bovendien gebeuren op het moment van de echte actie. Dat een gebruiker de agent mocht openen betekent niet automatisch dat elke voorgestelde toolcall toegestaan is. Controleer opnieuw rol, tenant, objectownership en eventuele limieten voordat de backend een gevoelige mutatie uitvoert.