App-Registrierung

Overview

Eine App-Registrierung teilt Microsoft Entra ID mit, dass eine Anwendung Benutzer anmelden oder APIs wie Microsoft Graph aufrufen darf. Das Ergebnis ist ein Anwendungsobjekt im Heimattenant mit einer global eindeutigen Anwendungs-ID (Client-ID), Redirect-URIs, Berechtigungen und Anmeldeinformationen.

Das Anwendungsobjekt ist die Vorlage. In jedem Tenant, der die App nutzt, entsteht daraus ein Service Principal (Unternehmensanwendung), an dem Zustimmungen, Benutzerzuweisungen und Conditional Access hängen. Bei der Registrierung im Portal legt Entra ID den Service Principal im Heimattenant automatisch mit an, bei Registrierung per Graph ist das ein eigener Schritt.

Abgrenzung: Service Principal und Managed Identity haben eigene Einträge. Für Azure-Ressourcen, die auf andere Azure-Dienste zugreifen, ist eine Managed Identity meist die bessere Wahl, weil keine Anmeldeinformationen gepflegt werden müssen.

How it works

Eine Registrierung läuft im Entra Admin Center unter App-Registrierungen oder per Graph:

  1. Unterstützte Kontotypen wählen. Microsoft empfiehlt für die meisten Anwendungen nur den eigenen Tenant (Single Tenant).
  2. Redirect-URIs für Web, SPA oder mobile Apps hinterlegen.
  3. API-Berechtigungen festlegen: delegierte Berechtigungen handeln im Namen eines Benutzers, Anwendungsberechtigungen ohne Benutzer. Anwendungsberechtigungen und viele weitreichende delegierte Berechtigungen benötigen die Zustimmung eines Administrators.
  4. Anmeldeinformationen hinzufügen: Zertifikat, Verbundanmeldeinformation (Federated Identity Credential, z. B. für GitHub Actions oder Kubernetes) oder Clientgeheimnis. Microsoft empfiehlt Zertifikate statt Geheimnissen vor dem Produktivbetrieb.
  5. Besitzer der Registrierung festlegen, damit Zuständigkeit und Ablauf von Anmeldeinformationen geklärt sind.

Benefits

  • Standardisierte Anbindung eigener und fremder Anwendungen an Entra ID, ohne Kennwörter in der App zu speichern
  • Feingranulare Berechtigungen für Graph und andere APIs, die sich zentral prüfen und entziehen lassen
  • Verbundanmeldeinformationen ermöglichen CI/CD-Pipelines ganz ohne gespeicherte Geheimnisse
  • Kostenlos in jedem Tenant, auch mit Entra ID Free

Practical example

Ein Softwarehaus mit 45 Mitarbeitenden entwickelt ein Kundenportal und registriert es als Single-Tenant-App mit getrennten Redirect-URIs für Test und Produktion. Das Portal fordert nur User.Read an, der Hintergrunddienst für den Kalenderabgleich bekommt eine eigene Registrierung mit Zertifikat. Die Bereitstellung aus GitHub Actions läuft über eine Verbundanmeldeinformation, sodass kein Geheimnis im Repository liegt.

Things to keep in mind

  • Nur die tatsächlich benötigten Berechtigungen anfordern und Anwendungsberechtigungen wie Mail.ReadWrite besonders kritisch prüfen
  • Zertifikate oder Verbundanmeldeinformationen statt Clientgeheimnissen verwenden und Ablaufdaten überwachen
  • Benutzerzustimmung auf Apps verifizierter Herausgeber beschränken, um Consent-Phishing zu erschweren
  • Für jede Registrierung mindestens zwei verantwortliche Besitzer eintragen
  • Ungenutzte Registrierungen und abgelaufene Anmeldeinformationen regelmäßig entfernen

Conclusion

App-Registrierungen sind schnell angelegt, aber sicherheitsrelevant, weil sie oft weitreichende Rechte tragen. Prüfe Berechtigungen, Besitzer und Anmeldeinformationen regelmäßig wie bei privilegierten Konten.