MIRA: Managed Identity Permissions endlich per GUI verwalten
Warum Permissions an Managed Identities hängen sollten
Wer Automatisierung gegen Microsoft Graph, Defender oder andere APIs baut, steht vor der Frage: womit authentifiziert sich das Skript oder die Function? Die schlechteste Antwort ist nach wie vor weit verbreitet: App Registration mit Client Secret, irgendwo in einem Key Vault oder — schlimmer — im Code.
Managed Identities (MI) lösen genau dieses Problem. Keine Secrets die rotiert, gespeichert oder geleakt werden können. Azure verwaltet den Credential-Lifecycle vollständig selbst. Die Identität ist an eine konkrete Ressourceninstanz gebunden (Function App, Automation Account, VM) und verschwindet, wenn die Ressource gelöscht wird — kein verwaistes Secret das Jahre später noch gültig ist.
Aus Security-Sicht ist das ein klarer Fall: Wo immer eine Azure-Ressource mit Microsoft Graph oder anderen APIs sprechen muss, sollte eine Managed Identity die erste Wahl sein — nicht ein Service Principal mit Secret.
Das Problem: Keine GUI für App Role Assignments
Soweit die Theorie. In der Praxis scheitert die Umsetzung oft an einem einfachen Umstand: App Role Assignments für Managed Identities lassen sich im Entra Admin Center nicht zuweisen. Es gibt keinen Button, keinen Wizard, keine Oberfläche dafür.
Der einzige Weg führt über die Microsoft Graph API oder PowerShell-Cmdlets wie New-MgServicePrincipalAppRoleAssignment. Das bedeutet:
- Object IDs von Managed Identity, Resource Service Principal und App Role müssen manuell ermittelt werden
- Keine Übersicht, welche Permissions eine MI bereits hat, bevor man etwas Neues zuweist
- Keine Risikoeinstufung der Permission im Vorfeld —
Mail.ReadundRoleManagement.ReadWrite.Directorysehen im Skript gleich aus - Fehlerquelle für jeden Admin der nicht täglich mit Graph PowerShell arbeitet
Genau diese Lücke schließt MIRA.
MIRA — Managed Identity Role Assignments
MIRA ist ein kostenloses, browserbasiertes Tool zum Auditieren und Zuweisen von App Role Permissions für Managed Identities in Entra ID. Alles läuft client-seitig — kein Backend, keine gespeicherten Daten.
Inventory Dashboard
Nach dem Verbinden mit dem Tenant zeigt MIRA alle Managed Identities auf einen Blick: Gesamtanzahl, wie viele Rollen zugewiesen haben, Aufschlüsselung nach Risiko (Critical/Elevated) und nach System- vs. User-Assigned MIs. Filterbar nach Name und Kategorie.
Schritt 1: Managed Identity auswählen
Der Assignment Wizard startet mit der Auswahl der Ziel-MI. Bestehende Rollenanzahl wird direkt in der Liste angezeigt.
Schritt 2: Ziel-Ressource wählen
Danach wird die Resource Application gewählt, gegen die die Permission gelten soll — Microsoft Graph, Defender for Endpoint, Microsoft Threat Protection oder SharePoint Online sind als Quick-Select hinterlegt, zusätzlich frei durchsuchbar.
Schritt 3: Permissions zuweisen
Die Permission-Liste zeigt jede verfügbare App Role mit Risikoeinstufung (Normal / Elevated / Critical) und Kurzbeschreibung. Das macht den Unterschied zwischen einer harmlosen Read-Permission und einer kritischen Berechtigung wie AccessReview.ReadWrite.All sofort sichtbar — bevor man sie zuweist.
Bestätigung und Zuweisung
Vor dem tatsächlichen Assign zeigt MIRA eine Zusammenfassung: welche MI, welche Resource, welche Rollen — inklusive Risiko-Badge. Erst dann wird der Graph-Call ausgeführt.
Permissions entfernen
Genauso wichtig wie das Zuweisen: das Aufräumen. Im “Remove permissions”-Tab werden alle aktuell zugewiesenen Rollen der gewählten MI angezeigt — inklusive Risiko-Tag — und lassen sich gezielt selektieren und entfernen.
Fazit
MIRA macht etwas möglich, das im Entra Admin Center schlicht fehlt: App Role Assignments für Managed Identities sichtbar machen, mit Risikokontext versehen und ohne Graph-PowerShell-Kenntnisse zuweisen oder entfernen. Für Security Reviews und für den täglichen Betrieb gleichermaßen nützlich — und ein weiterer Grund, bei Automatisierung konsequent auf Managed Identities statt Secrets zu setzen.
Why permissions belong on Managed Identities
Anyone building automation against Microsoft Graph, Defender, or other APIs faces the same question: what does the script or function authenticate with? The worst answer is still common: an App Registration with a client secret, stored somewhere in a Key Vault or — worse — in the code.
Managed Identities (MI) solve exactly this problem. No secrets to rotate, store, or leak. Azure manages the entire credential lifecycle itself. The identity is bound to a specific resource instance (Function App, Automation Account, VM) and disappears when the resource is deleted — no orphaned secret still valid years later.
From a security standpoint this is a clear call: wherever an Azure resource needs to talk to Microsoft Graph or other APIs, a Managed Identity should be the default choice — not a Service Principal with a secret.
The Problem: No GUI for App Role Assignments
That’s the theory. In practice, implementation often fails on a simple fact: App role assignments for Managed Identities cannot be assigned in the Entra Admin Center. There’s no button, no wizard, no UI for it.
The only path runs through the Microsoft Graph API or PowerShell cmdlets like New-MgServicePrincipalAppRoleAssignment. That means:
- Object IDs for the Managed Identity, resource service principal, and app role have to be looked up manually
- No overview of what permissions an MI already has before assigning something new
- No risk classification of the permission up front —
Mail.ReadandRoleManagement.ReadWrite.Directorylook identical in a script - A source of errors for any admin who doesn’t work with Graph PowerShell daily
This is exactly the gap MIRA closes.
MIRA — Managed Identity Role Assignments
MIRA is a free, browser-based tool for auditing and assigning app role permissions for Managed Identities in Entra ID. Everything runs client-side — no backend, no stored data.
Inventory Dashboard
After connecting to the tenant, MIRA shows all Managed Identities at a glance: total count, how many have roles assigned, a breakdown by risk (Critical/Elevated), and by system- vs. user-assigned MIs. Filterable by name and category.
Step 1: Select Managed Identity
The assignment wizard starts by selecting the target MI. Existing role count is shown directly in the list.
Step 2: Choose Target Resource
Next, the resource application the permission should apply to is selected — Microsoft Graph, Defender for Endpoint, Microsoft Threat Protection, and SharePoint Online are available as quick-select options, with free search as well.
Step 3: Assign Permissions
The permission list shows every available app role with a risk rating (Normal / Elevated / Critical) and a short description. This makes the difference between a harmless read permission and a critical one like AccessReview.ReadWrite.All immediately visible — before you assign it.
Confirm and Assign
Before the actual assignment, MIRA shows a summary: which MI, which resource, which roles — including risk badge. Only then is the Graph call executed.
Removing Permissions
Just as important as assigning: cleaning up. The “Remove permissions” tab shows all roles currently assigned to the selected MI — including risk tag — and lets you select and remove them individually.
Conclusion
MIRA enables something the Entra Admin Center simply doesn’t offer: making app role assignments for Managed Identities visible, giving them risk context, and assigning or removing them without needing Graph PowerShell skills. Useful equally for security reviews and day-to-day operations — and one more reason to consistently use Managed Identities instead of secrets for automation.