By DavidLundell September 26, 2025
This article is the second in a series about Custom Attributes in Entra ID and will discuss the Naming Conventions so that you can recognize them when you see them in the wild and understand how uniqueness is enforced and guaranteed.
- Names and aliases
- Naming Conventions
- Resource Types
- Data Types
- Lifecycle
- Limitations
- Use Cases
- Decision Tree
You do not get to choose the names of the Extension Attributes as they are predetermined and fixed.
With on-premises Active Directory and any LDAP directory you could have collisions with attribute names but at least the Object Identifier (OID) enforced uniqueness, right? Sort of. You could use the OID registrar and get a unique OID or generate one through Microsoft using your script to generate an OID with a random GUID. But nothing prevented you from making your own AD schema extension and using someone else’s OID or prevent them from using yours, except common sense, which always prevails!
When you create a Directory Extension you get stuck with using the Application ID (a GUID) as part of the name . Yuck! But this guarantees uniqueness throughout the known universe, and when building a multi-tenant app or installing a multi-tenant app that someone else built this is critical! (note this is not the ObjectID of the Registered Application nor the ObjectID of the related Enterprise Application, but the AppID or Client ID of the application – this number shows up on both the Registered Application and all of its related Enterprise Applications).
Schema Extensions are prettier. To enforce uniqueness you can use a vanity domain or let Entra generate a prefix of “ext” followed by 8 random characters and then it adds the name you provide. The vanity domain is highly recommended for two reasons:
1. You can pick it and make all of your schema extensions consistent
2. While the Schema Extension is in the InDevelopment status should you delete the extension before nulling out or deleting the data on the resources you can recreate the Schema Extension and then null out the data. This is not possible if you let Entra generate the random prefix.
Open Extensions are the wild wild west and you can name it whatever you want.
Custom Security Attributes names start with the name of the AttributeSet and then an underscore and then the name of the attribute. In terms of naming conventions I like this the best. Since these are limited to your tenant they only need to be unique inside your tenant.