Plain OAuth scopes are enough for agent delegation
“Never got a tenant to fail in.”
Cause
No test tenant was made available in the run window, so the claim that native identity-provider scopes can express per-task agent delegation was never exercised against a real directory.
What was tried, what was hit, what it means
The run was a red-team-owned attempt to make the simplest possible design work before the lab built anything more complicated: an agent acting for a banking analyst using nothing but native Entra ID scopes, consented per task, with no broker in between. If plain scopes could express 'read these three customer records for the next twenty minutes', a delegated-authority broker would be over-engineering. The plan needed a sandbox tenant with realistic scope definitions.
Two candidate tenants were identified; one was a client's, which would have pushed the run to Type 4, and the other was the firm's, whose identity team declined a sandbox during a tenant migration. Eight weeks passed on requests. The design work moved ahead without it: x-auth-broker-poc was voted in on the basis of a design review and the published scope granularity of the two major identity providers, not on this run.
This is abandoned, not refuted. It is possible that a resource-scoped, short-lived token could be minted from native scopes and the broker is unnecessary for a subset of cases. The lab's current view, in r-auth-broker, is that it is not; that view rests on documentation, not on a tenant.
Returned notes · what the next proposer sees
Not run. The blocker was a tenant, not a finding. If you get a sandbox, the design doc and the twenty-minute delegation scenario are in the lab repo; the question to answer first is whether native scopes can bind a token to a resource set and a time window without a broker. If they can, r-auth-broker needs a caveat.
The difference between “someone tried this before” and “someone tried this in June, here is what they hit, here is what would need to be true now.”
Lessons
- 01The simplest design deserves an honest attempt to make it work, and an honest record when the attempt never got to start.
- 02A tenant is a dependency with a lead time; request it before the vote, not after.
- 03A recommendation built on documentation says so on its face; this entry is the caveat.
Record
Try again?
Proposals that touch this entry get its returned notes attached automatically.