Erkunden von Dienstprinzipalen

Abgeschlossen

Zum Delegieren der Identitäts- und Zugriffsverwaltungsfunktionen an Microsoft Entra ID muss eine Anwendung bei einem Microsoft Entra-Mandanten registriert werden. Wenn Sie Ihre Anwendung bei Microsoft Entra ID registrieren, erstellen Sie eine Identitätskonfiguration für Ihre Anwendung, die deren Integration in Microsoft Entra ID ermöglicht. Wenn Sie eine App über das Azure-Portal registrieren, haben Sie die Wahl zwischen zwei Optionen:

  • Einzelinstanzenfähig: Der Zugriff ist nur in Ihrem Mandanten möglich.
  • Mehrinstanzenfähig: Der Zugriff ist in anderen Mandanten möglich.

Wenn Sie eine Anwendung über das Portal registrieren, werden in Ihrem Basismandanten automatisch ein Anwendungsobjekt (die global eindeutige Instanz der App) und ein Dienstprinzipalobjekt erstellt. Außerdem verfügen Sie über eine global eindeutige ID für Ihre App (App- oder Client-ID). Im Portal können Sie dann Geheimnisse oder Zertifikate und Geltungsbereiche hinzufügen, damit Ihre App funktioniert. Sie können auch das Branding Ihrer App im Anmeldedialogfeld anpassen und vieles mehr.

Hinweis

Sie können auch mit Azure PowerShell, der Azure-Befehlszeilenschnittstelle, Microsoft Graph und mit anderen Tools Dienstprinzipalobjekte in einem Mandanten erstellen.

Anwendungsobjekt

Eine Microsoft Entra-Anwendung ist auf das einzige Anwendungsobjekt und das einzige Anwendungsobjekt eingestellt. Das Anwendungsobjekt befindet sich in dem Microsoft Entra-Mandanten, in dem die Anwendung registriert wurde. (Dieser wird als „Basismandant“ der Anwendung bezeichnet.) Ein Anwendungsobjekt wird als Vorlage bzw. Blaupause zum Erstellen eines oder mehrerer Dienstprinzipalobjekte verwendet. Ein Dienstprinzipal wird in jedem Mandanten erstellt, in dem die Anwendung verwendet wird. Vergleichbar einer Klasse in der objektorientierten Programmierung hat das Anwendungsobjekt einige statische Eigenschaften, die auf alle erstellten Dienstprinzipale (oder Anwendungsinstanzen) angewendet werden.

Das Anwendungsobjekt beschreibt drei Aspekte einer Anwendung:

  • Wie der Dienst Token ausstellen kann, um auf die Anwendung zuzugreifen.
  • Ressourcen, auf welche die Anwendung möglicherweise zugreifen muss.
  • Die Aktionen, welche die Anwendung ausführen kann.

Die Application-Entität von Microsoft Graph definiert das Schema für die Eigenschaften eines Anwendungsobjekts.

Dienstprinzipalobjekt

Um auf Ressourcen zugreifen zu können, die von einem Microsoft Entra-Mandanten gesichert werden, muss die Entität, die Zugriff anfordert, durch einen Sicherheitsprinzipal repräsentiert werden. Dies gilt für Benutzer (Benutzerprinzipal) und Anwendungen (Dienstprinzipal).

Der Sicherheitsprinzipal definiert die Zugriffsrichtlinie und die Zugriffsberechtigungen für Benutzer*innen/Anwendungen im Microsoft Entra-Mandanten. Dies aktiviert die Kernfunktionen wie die Authentifizierung des Benutzers/der Anwendung während der Anmeldung und die Autorisierung beim Zugriff auf Ressourcen.

Es stehen drei Arten von Dienstprinzipalen zur Verfügung:

  • Anwendung: Dieser Dienstprinzipaltyp ist die lokale Darstellung (bzw. Anwendungsinstanz) eines globalen Anwendungsobjekts in einem einzelnen Mandanten oder Verzeichnis. Ein Dienstprinzipal wird in jedem Mandanten erstellt, in dem die Anwendung verwendet wird, und verweist auf das global eindeutige App-Objekt. Das Dienstprinzipalobjekt definiert, was die App tatsächlich im jeweiligen Mandanten ausführen kann, wer auf die App zugreifen kann und auf welche Ressourcen die App zugreifen kann.

  • Verwaltete Identität: Dieser Dienstprinzipaltyp repräsentiert eine verwaltete Identität. Verwaltete Identitäten stellen eine Identität bereit, mit deren Hilfe Anwendungen eine Verbindung mit Ressourcen herstellen können, welche die Microsoft Entra-Authentifizierung unterstützen. Wenn eine verwaltete Identität aktiviert ist, wird in Ihrem Mandanten ein Dienstprinzipal erstellt, der diese verwaltete Identität repräsentiert. Dienstprinzipale, die verwaltete Identitäten repräsentieren, können Zugriff und Berechtigungen erhalten, sie können jedoch nicht direkt aktualisiert oder geändert werden.

  • Legacy: Dieser Dienstprinzipaltyp repräsentiert eine Legacy-App. Bei einer Legacy-App handelt es sich um eine App, die vor der Einführung von App-Registrierungen oder über eine Legacybenutzeroberfläche erstellt wurde. Ein älterer Dienstprinzipal kann folgendes haben:

    • Anmeldeinformationen
    • Dienstprinzipalnamen
    • Antwort-URLs
    • und andere Eigenschaften, die ein autorisierter Benutzer bearbeiten kann, aber keine zugeordnete App-Registrierung hat.

Beziehung zwischen Anwendungsobjekten und Dienstprinzipalen

Das Anwendungsobjekt ist die globale Darstellung Ihrer Anwendung für die Verwendung bei allen Mandanten. Der Dienstprinzipal ist die lokale Darstellung für die Verwendung in einem bestimmten Mandanten. Das Anwendungsobjekt fungiert als Vorlage, aus der allgemeine und Standardeigenschaften zur Verwendung im entsprechenden Dienstprinzipal abgeleitet werden.

Für ein Anwendungsobjekt gilt Folgendes:

  • Eine 1:1-Beziehung mit der Softwareanwendung – und
  • Eine 1:n-Beziehung mit den entsprechenden Dienstprinzipalobjekten.

Ein Dienstprinzipal muss in jedem Mandanten erstellt werden, in dem die Anwendung verwendet wird, damit eine Identität für die Anmeldung und/oder den Zugriff auf Ressourcen eingerichtet werden kann, die durch den Mandanten geschützt werden. Eine Einzelmandantenanwendung weist nur einen Dienstprinzipal (im eigenen Heimmandanten) auf, der während der Anwendungsregistrierung erstellt und für die Verwendung autorisiert wird. Eine Anwendung mit mehreren Mandanten verfügt außerdem über einen Dienstprinzipal, der in jedem Mandanten erstellt wird, in dem ein Benutzer oder eine Benutzerin des Mandanten der Verwendung zugestimmt hat.