Most enterprises already have a data classification scheme: Public, Internal, Confidential, Restricted, or something close to it. Very few of those schemes say anything about what an autonomous agent may do. A classification policy answers "how sensitive is this record?" An agent permission policy must also answer "which tool may read it, under whose identity, and may the result leave the boundary?" Policy guidance on AI use consistently treats data protection, approved and prohibited use, and access controls as separate provisions that must each be spelled out, which is exactly why the mapping step gets skipped the Brightmine AI policy guidance. The mapping is the work.
The practical move is to treat a policy tier as an entitlement bundle. An agent is not "trusted" or "untrusted" in general; it holds a tier, and the tier expands into a concrete set of tool namespaces, HTTP scopes, database verbs, and data classes. Two agents with the same tier should be interchangeable from the data layer's point of view, even if they run different prompts.
A second principle follows from the first: permissions attach to the agent's own identity, not to the developer who built it or the user who triggered it. Security teams writing agent access control guidance are direct about this, arguing that production agents need their own identities, least privilege, scoped permissions, and an audit trail of every tool call rather than a shared service account the GreenNode access control guide. That single decision makes everything downstream cleaner, because the tier can be encoded as an attribute on an identity you control.
One warning before you start. Role-based access control strains when pointed at agents, because an agent's role can change mid-task: a request that begins as read-only can drift into generation or writes. Teams then either flood their logs with role changes or grant one oversized role that covers every possible combination the Auth0 analysis of access control for agents. That is the failure mode a tier system is built to prevent, provided the tier is fixed at session start.



