← cd ~/roles
// roles/entra · privileged
Application DeveloperMicrosoft Entra built-in role
Can create application registrations independent of the 'Users can register applications' setting.
| Role ID | cf1c38e5-3621-4004-a7cb-879624dced7c |
|---|---|
| Privileged | Yes. Microsoft marks this role as privileged. |
| Permissions | 3 |
Before you assign it
Microsoft labels this a privileged role, so make it eligible through PIM rather than permanent, require phishing-resistant MFA to activate it, and review who has it regularly.
What it can do
| Permission | What it allows |
|---|---|
microsoft.directory/applications/createAsOwner | Create all types of applications, and creator is added as the first owner |
microsoft.directory/oAuth2PermissionGrants/createAsOwner | Create OAuth 2.0 permission grants, with creator as the first owner |
microsoft.directory/servicePrincipals/createAsOwner | Create service principals, with creator as the first owner |
Assign it
The role ID is the same in every tenant, so these work as they are. Make it eligible through PIM:
Connect-MgGraph -Scopes "RoleEligibilitySchedule.ReadWrite.Directory"
$user = Get-MgUser -UserId "jane.doe@contoso.com"
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter @{
Action = "AdminAssign"
Justification = "Needs Application Developer for <reason>"
RoleDefinitionId = "cf1c38e5-3621-4004-a7cb-879624dced7c"
DirectoryScopeId = "/"
PrincipalId = $user.Id
ScheduleInfo = @{
StartDateTime = (Get-Date).ToUniversalTime().ToString("o")
Expiration = @{ Type = "afterDuration"; Duration = "P180D" }
}
}Who already has it?
Connect-MgGraph -Scopes "RoleManagement.Read.Directory"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq 'cf1c38e5-3621-4004-a7cb-879624dced7c'" -ExpandProperty Principal |
ForEach-Object { $_.Principal.AdditionalProperties.displayName }Related roles
- Domain Name Administrator · 3 permissions · privileged
- Lifecycle Workflows Administrator · 3 permissions · privileged
- Attribute Provisioning Administrator · 2 permissions · privileged
- Entra SOC Identity Responder · 4 permissions · privileged
- External Identity Provider Administrator · 2 permissions · privileged
- Password Administrator · 2 permissions · privileged
- Attribute Provisioning Reader · 1 permission · privileged
- Authentication Extensibility Administrator · 1 permission · privileged