The Control Plane Starts with Classification
Enterprise architects tackling Microsoft Entra and the burgeoning world of AI agents face an immediate, often overlooked, imperative: schema design. This isn't about another policy wizard, a new dashboard, or yet another governance steering committee. It's about the fundamental classification of non-human identities using custom security attributes (CSAs) in Microsoft Entra. This decision cannot be deferred; it must be made upfront.
Across organizations of all sizes, a recurring pattern emerges: teams rapidly experiment with AI agents, onboard identities, and test security controls. This initial velocity often masks a critical deficiency: the absence of a consistent, structured attribute language for defining policy scope. The consequence is predictable and problematic: every security policy eventually devolves into a complex, brittle naming convention problem. This approach is fundamentally backwards, placing the cart before the horse.
Why CSAs Are Not Just Metadata
Custom security attributes are far more than just decorative metadata. They are tenant-scoped key-value pairs that provide granular control over access to resources and the definition of security policies. For AI agents, which operate with their own identities and require specific permissions, CSAs are the linchpin of robust security and governance. Without a well-defined schema, managing these agent identities becomes an exercise in error-prone manual configuration and ambiguous access rules.
Consider the analogy of building a smart city. You wouldn't start by installing traffic lights randomly. You'd first map out the road network, define zones, and establish clear rules for how different types of vehicles (or agents, in our case) can interact with infrastructure. CSAs provide that foundational mapping and rule-setting capability for your digital environment. They allow you to answer critical questions like: Is this agent a read-only data analyst, a system administrator for specific applications, or a user-facing chatbot with limited interaction capabilities?

The Problem with Naming Conventions
When teams defer CSA design, they invariably fall back on naming conventions to differentiate agent types and their intended scopes. This might look like prefixes such as `agent-read-`, `agent-write-`, `agent-prod-`, or `agent-dev-` appended to service principal names or group memberships. While seemingly expedient, this approach creates several significant problems:
- Scalability Issues: As the number of agents grows, managing and updating policies based on these ad-hoc naming conventions becomes exponentially more complex and error-prone.
- Ambiguity: Naming conventions are subjective and can easily lead to misinterpretations. What constitutes a "read" operation can differ, and without explicit attributes, policies become vague.
- Policy Enforcement Challenges: Entra's policy engine is designed to work with structured attributes. Forcing it to parse string-based naming conventions for critical security decisions adds unnecessary complexity and potential for bypass.
- Auditing Difficulties: Auditing and reporting on agent access and permissions become cumbersome. It's hard to definitively state which agents have access to what without a clear, attribute-driven classification.
This is akin to trying to organize a library by writing the genre on the spine of each book instead of using a proper cataloging system. It works for a handful of books, but quickly becomes unmanageable as the collection grows.
Designing Your CSA Schema: Key Considerations
The design of your CSA schema should be driven by the specific needs of your organization and the types of agents you intend to deploy. Here are critical areas to consider:
1. Agent Purpose and Functionality
Define attributes that clearly delineate what each agent is intended to do. Examples:
agent.function: e.g., `data-analysis`, `system-management`, `customer-support`, `code-generation`agent.scope: e.g., `global`, `regional`, `departmental`, `application-specific`
2. Data Sensitivity and Access Levels
Classify agents based on the sensitivity of the data they will access or process.
agent.data.sensitivity: e.g., `public`, `internal`, `confidential`, `restricted`agent.access.level: e.g., `read-only`, `read-write`, `admin`, `execute-only`
3. Operational Context
Attributes related to the agent's operational environment can be crucial for policy management.
agent.environment: e.g., `production`, `staging`, `development`, `testing`agent.owner.team: e.g., `IT-Ops`, `Data-Science`, `Marketing`
4. Compliance and Regulatory Requirements
In regulated industries, specific attributes may be needed to ensure compliance.
agent.compliance.role: e.g., `pci-dss-handler`, `hipaa-auditor`
Implementing CSAs in Entra
Once the schema is defined, implementation in Microsoft Entra involves creating these custom security attributes within the tenant. This is typically done by a global administrator or a security administrator with the appropriate permissions. After creation, these attributes can be assigned to Entra identities, including service principals representing AI agents.
The true power of CSAs is realized when they are integrated into Entra Conditional Access policies and Azure role-based access control (RBAC). Instead of relying on group memberships or broad role assignments, policies can be crafted to grant permissions or enforce access controls based on specific attribute values. For instance, a policy could state: "Allow agents with agent.function = `data-analysis` and agent.data.sensitivity = `confidential` to access resources tagged with resource.sensitivity = `confidential` in the `production` environment." This level of granular control is impossible to achieve reliably with naming conventions alone.
The Overdue Decision
The decision to implement a structured CSA schema is not a future enhancement; it is a foundational requirement for secure and scalable AI agent deployment. Organizations that delay this decision risk building complex, unmanageable security postures that will inevitably require costly remediation. By investing time in upfront schema design, enterprise architects can ensure that their AI agent strategy is built on a solid foundation of clear classification, granular control, and robust governance.
What no one has fully addressed yet is the long-term maintenance cost of retrofitting a proper attribute schema onto an existing, rapidly deployed agent infrastructure that has already relied on naming conventions for months or years.
