What about just handing the agent a token with limited time to live and constrained access permissions?