Schützen von Dienstprinzipalen in Microsoft Entra ID

Ein Microsoft Entra-Dienstprinzipal ist die lokale Darstellung eines Anwendungsobjekts in einem Mandanten oder Verzeichnis. Er stellt Identität der Anwendungsinstanz dar. Dienstprinzipale definieren den Anwendungszugriff und die Ressourcen, auf die die Anwendung zugreift. Ein Dienstprinzipal wird in jedem Mandanten erstellt, in dem die Anwendung verwendet wird, und es verweist auf das global eindeutige Anwendungsobjekt. Mit dem Mandanten werden die Anmeldung des Dienstprinzipals und dessen Zugriff auf Ressourcen geschützt.

Weitere Informationen: Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID

Beziehungen zwischen Mandanten und Dienstprinzipalen

Eine Anwendung mit nur einem Mandanten verfügt auf diesem Basismandanten über einen Dienstprinzipal. Für eine mehrinstanzenfähige Webanwendung oder API wird ein Dienstprinzipal auf jedem Mandanten benötigt. Ein Dienstprinzipal wird erstellt, wenn ein Benutzer aus diesem Mandanten der Verwendung der Anwendung oder API einwilligt. Aufgrund dieser Einwilligung wird eine 1:n-Beziehung zwischen der mehrinstanzenfähigen Anwendung und den zugehörigen Dienstprinzipalen erstellt.

Eine mehrinstanzenfähige Anwendung befindet sich in einem Mandanten und verfügt über Instanzen in anderen Mandanten. Die meisten SaaS-Anwendungen (Software-as-a-Service) sind mehrinstanzenfähig. Verwenden Sie Dienstprinzipale, um den erforderlichen Sicherheitsstatus für die Anwendung und ihre Benutzer*innen in Szenarien mit nur einem oder mit mehreren Mandanten sicherzustellen.

ApplicationID und ObjectID

Eine Anwendungsinstanz verfügt über zwei Eigenschaften: die ApplicationID (auch als ClientID bezeichnet) und die ObjectID.

Hinweis

Die Begriffe Anwendung und Dienstprinzipal werden synonym verwendet, wenn sie sich im Zusammenhang mit Authentifizierungsaufgaben auf eine Anwendung beziehen. Es gibt jedoch zwei Repräsentationen von Anwendungen in Microsoft Entra ID.

Die ApplicationID steht für die globale Anwendung und ist für Anwendungsinstanzen mandantenübergreifend identisch. Die ObjectID ist ein eindeutiger Wert für ein Anwendungsobjekt. Wie bei Benutzer*innen, Gruppen und anderen Ressourcen vereinfacht die ObjectID auch bei Anwendungen das Identifizieren einer Instanz in Microsoft Entra ID.

Weitere Informationen finden Sie unter Beziehung zwischen Anwendung und Dienstprinzipal in Microsoft Entra ID

Erstellen einer Anwendung und ihres Dienstprinzipalobjekts

Gehen Sie wie folgt vor, um eine Anwendung und ihr Dienstprinzipalobjekt (ObjectID) in einem Mandanten zu erstellen:

  • Azure PowerShell
  • Microsoft Graph PowerShell
  • Azure-Befehlszeilenschnittstelle (Azure CLI)
  • Microsoft Graph-API
  • Das Azure-Portal
  • Weitere Tools

Screenshot of Application or Client ID and Object ID on the New App page.

Dienstprinzipalauthentifizierung

Bei Verwendung von Dienstprinzipalen gibt es zwei Mechanismen zur Authentifizierung: Clientzertifikate und geheime Clientschlüssel.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

Da Zertifikate sicherer sind, wird empfohlen, diese nach Möglichkeit zu verwenden. Im Gegensatz zu geheimen Clientschlüsseln können Clientzertifikate nicht versehentlich in Code eingebettet werden. Nutzen Sie nach Möglichkeit Azure Key Vault für die Verwaltung von Zertifikaten und Geheimnissen, um Ressourcen mit durch Hardwaresicherheitsmodule geschützte Schlüssel zu verschlüsseln:

  • Authentifizierungsschlüssel
  • Speicherkontoschlüssel
  • Datenverschlüsselungsschlüssel
  • PFX-Dateien
  • Kennwörter

Weitere Informationen zu Azure Key Vault und zur Verwendung für die Verwaltung von Zertifikaten und Schlüsseln finden Sie unter:

Herausforderungen und Gegenmaßnahmen

In der folgenden Tabelle finden Sie Risikominderungen für bestimmte Herausforderungen bei der Verwendung von Dienstprinzipalen.

Herausforderung Minderung
Zugriffsüberprüfungen für Dienstprinzipale, die privilegierten Rollen zugewiesen sind Diese Funktion befindet sich in der Vorschauphase.
Überprüfungen des Dienstprinzipalzugriffs Ermöglicht die manuelle Überprüfung der Zugriffssteuerungsliste einer Ressource über das Azure-Portal.
Dienstprinzipale mit zu vielen Berechtigungen Weisen Sie beim Erstellen von Automatisierungsdienstkonten oder Dienstprinzipalen die Berechtigungen zu, die für die jeweilige Aufgabe benötigt werden. Auswerten von Dienstprinzipalen zum Reduzieren von Berechtigungen
Ermittlung von Änderungen an den Anmeldeinformationen oder Authentifizierungsmethoden von Dienstprinzipalen - Siehe Arbeitsmappe „Berichte zu sicherheitsrelevanten Vorgängen“
- Informationen zum Bewerten des Solorigate-Risikos mit der Microsoft Entra-Arbeitsmappe finden Sie im Tech Community-Blogbeitrag

Suchen nach Konten mit Dienstprinzipalen

Führen Sie die folgenden Befehle aus, um Konten unter Verwendung von Dienstprinzipalen mit der Azure-Befehlszeilenschnittstelle oder mit PowerShell zu finden.

  • Azure-CLI – az ad sp list
  • PowerShell: Get-MgServicePrincipal -All:$true

Weitere Informationen finden Sie unter Get-MgServicePrincipal

Bewerten der Sicherheit von Dienstprinzipalen

Evaluieren Sie die Speicherung von Berechtigungen und Anmeldeinformationen, um die Sicherheit zu bewerten. In der folgenden Tabelle finden Sie Risikominderungen für einige Herausforderungen:

Herausforderung Minderung
Ermitteln des Benutzers, der seine Einwilligung für eine mehrinstanzenfähige App erteilt hat, und Ermitteln von unrechtmäßigen Einwilligungserteilungen für eine mehrinstanzenfähige App - Führen Sie das folgende PowerShell-Cmdlet aus, um nach mehrinstanzenfähigen Apps zu suchen.
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
- Deaktivieren der Benutzerzustimmung
- Zulassen der Benutzereinwilligung von verifizierten Herausgebern für ausgewählte Berechtigungen (empfohlen)
– Konfigurieren sie im Benutzerkontext
- Verwenden Sie deren Token, um den Dienstprinzipal auszulösen.
Verwenden eines hartcodierten gemeinsamen geheimen Schlüssels in einem Skript mithilfe eines Dienstprinzipals Verwenden eines Zertifikats
Nachverfolgen der Verwendung von Zertifikaten oder Geheimnissen Überwachen Sie die Anmeldungen für den Dienstprinzipal, indem Sie die Microsoft Entra-Anmeldeprotokolle verwenden
Die Anmeldung von Dienstprinzipalen kann nicht per bedingtem Zugriff verwaltet werden. Überwachen Sie die Anmeldungen, indem Sie die Microsoft Entra-Anmeldeprotokolle verwenden
„Mitwirkender“ ist die Standardrolle für die rollenbasierte Zugriffssteuerung (RBAC) in Azure. Bewerten des Bedarfs und Anwenden der geringstmöglichen Berechtigungen

Weitere Informationen: Was ist bedingter Zugriff?

Wechseln von einem Benutzerkonto zu einem Dienstprinzipal

Wenn Sie ein Azure-Benutzerkonto als Dienstprinzipal verwenden, sollten Sie überprüfen, ob die Umstellung auf eine verwaltete Identität oder einen Dienstprinzipal möglich ist. Falls Sie keine verwaltete Identität verwenden können, sollten Sie einen Dienstprinzipal bereitstellen, der über ausreichende Berechtigungen und den entsprechenden Bereich für die Ausführung der erforderlichen Aufgaben verfügt. Sie können einen Dienstprinzipal erstellen, indem Sie eine Anwendung registrieren oder PowerShell verwenden.

Wenn Sie Microsoft Graph verwenden, überprüfen Sie die API-Dokumentation. Stellen Sie sicher, dass der Berechtigungstyp für die Anwendung unterstützt wird.
Weitere Informationen finden Sie unter Erstellen eines Dienstprinzipals.

Weitere Informationen:

Nächste Schritte

Erfahren Sie mehr über Dienstprinzipale:

Schützen von Dienstkonten:

Bedingter Zugriff:

Verwenden Sie den bedingten Zugriff, um Dienstprinzipale von nicht vertrauenswürdigen Orten zu blockieren.

Weitere Informationen finden Sie unter Festlegen einer standortbasierten Richtlinie für bedingten Zugriff.