Microsoft Entra ID-Leitfaden für unabhängige Softwareentwickler
Microsoft Entra ID ist ein cloudbasierter Identitäts- und Zugriffsverwaltungsdienst, mit dem Mitarbeitende auf Ressourcen zugreifen können. Branchenanalysten erkennen Microsoft Entra ID immer wieder als führend an. Es ist ein siebenfacher Leader im Gartner Magic Quadrant für Zugriffsverwaltung. KuppingerCole bewertet Microsoft Entra ID in allen Dimensionen der Zugriffsverwaltung als positiv. Frost & Sullivan hat Microsoft zum Unternehmen des Jahres 2022 für die Branche „Globale Identitäts- und Zugriffsverwaltung“ ernannt. Lesen Sie Storys über einige der mehr als 300 000 Organisationen, die Microsoft Entra ID verwenden.
Dieser Artikel ist der erste in einer Reihe, wie unabhängige Softwareentwickler (Independent Software Developers, ISVs) Anwendungen für Microsoft Entra ID erstellen und optimieren können. In dieser Reihe können Sie mehr zu folgenden Themen erfahren:
- Einrichten von Anwendungen im Microsoft Entra ID-Ökosystem beschreibt, wie Sie das Microsoft Entra Admin Center oder die Microsoft Graph-API (Application Programming Interface, Anwendungsprogrammierschnittstelle) zum Registrieren von Apps in einem Microsoft Entra ID-Mandanten verwenden.
- Authentifizieren von Anwendungen und Benutzern beschreibt, wie Anwendungen Microsoft Entra ID zum Authentifizieren von Benutzern und Anwendungen verwenden.
- Autorisieren von Anwendungen, Ressourcen und Workloads veranschaulicht die Autorisierung, wenn ein Mensch mit einer Anwendung interagiert und eine Anwendung steuert. In diesem Szenario handeln APIs für einen Benutzer, und wenn Anwendungen oder Dienste unabhängig funktionieren.
- Anpassen von Token beschreibt, wie Sie ID-Token und Zugriffstoken von Microsoft Entra ID verwenden, um Sicherheit in Anwendungen zu integrieren. Sie erfahren, welche Informationen Sie in Microsoft Entra ID-Token empfangen und wie Sie diese anpassen können.
Entwickeln mit der Microsoft-Identitätsplattform
Anwendungen sind der Kern für Microsoft Entra ID. Wenn ein Benutzer auf eine Ressource zugreift, greift er mit einer Anwendung auf diese Ressource zu. Die Microsoft-Identitätsplattform umfasst die Tools und Dienste, mit denen Entwickler auf Microsoft Entra ID aufbauen können. Die Microsoft-Identitätsplattform beginnt mit Microsoft Entra ID, dem Clouddienst, der Vorgänge wie Anmelden, Abmelden und Anwendungsregistrierung bereitstellt, die eine Anwendung benötigt. Die Microsoft-Identitätsplattform enthält Open-Source-Microsoft-Authentifizierungsbibliotheken (Microsoft Authentication Libraries, MSAL) in verschiedenen Sprachen und Frameworks, und Microsoft Graph, das APIs für den Zugriff auf Daten und Vorgänge in Microsoft Entra ID bereitstellt.
Für Entwickler enthält die Microsoft-Identitätsplattform die folgenden Features.
- Authentifizieren eines Benutzers, autorisieren einer App, generieren von API-Token.
- Vereinfachen Sie die Integration von Sicherheitsfeatures direkt mit der Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) oder über eine API auf höherer Ebene, z. B. Microsoft.Identity.Web oder Azure.Identity.
- Anstatt OAuth 2.0 von Grund auf zu implementieren, verwenden Sie MSALs, um die Komplexität mit robusten APIs zu abstrahieren, die Entwicklern viel Arbeit abnehmen.
- Stellen Sie sicher, dass Anwendungen bewährte Methoden für die Sicherheit in Übereinstimmung mit Branchenstandards und Protokollen wie OAuth 2.0 befolgen.
- Vereinheitlichen Sie Authentifizierungsstorys für Anwendungen und Erfahrungen mit SSO (Single Sign-On)-Support.
- Optimieren Sie die Integration der sozialen Identität mit Microsoft External ID.
- Sichern Sie Daten und Ressourcen mit minimalem Installationscode und nativem Support für Microsoft Entra ID-Funktionalitäten wie Bedingter Zugriff (Conditional Access, CA), Fortlaufende Zugriffsevaluierung (Continuous Access Evaluation, CAE), Identitätsschutzund Geräteverwaltung.
- Erstellen Sie Anwendungen, die Authentifizierungstoken sicher schützen und gleichzeitig die Erzwingung der Geräte- und Richtlinienkonformität sicherstellen. Verlassen Sie sich auf die Unterstützung für die Authentifizierung mit modernen Brokern wie Microsoft Authenticator oder integrierten Betriebssystemkomponenten wie Web Account Manager (WAM) unter Windows.
Anwendungen mit Microsoft Entra ID integrieren
Anwendungen, die in Microsoft Entra ID-Benutzer-, Dienst- oder Gruppenidentitäten integriert werden, interagieren mit einem Microsoft Entra ID-Mandanten. Ein Mandant ist eine dedizierte Instanz von Microsoft Entra ID, die in der Regel eine Organisation oder eine Gruppe innerhalb eines größeren Unternehmens darstellt. Der Mandant enthält das Verzeichnis der Organisation, speichert Objekte wie Geschäfts-, Schul- oder Unikonten oder eingeladene Partnerkonten. Gruppen, Anwendungen, Geräte und andere Objekte werden ebenfalls gespeichert. Der Mandant stellt die Webendpunkte bereit, die Anwendungen zum Ausführen von Vorgängen verwenden, z. B. die Authentifizierung.
Eine Anwendung sendet Anforderungen an einen Mandantenendpunkt, um Token abzurufen, die Benutzer identifizieren. oder die von Ressourcen-APIs zum Autorisieren des Ressourcenzugriffs verwendet werden können. Anwendungsidentitäten innerhalb von Microsoft Entra ID ermöglichen Anwendungen das Anfordern von Token von einem Microsoft Entra ID-Mandanten, während Sie Benutzern die richtige Kontextebene darüber geben, wer sie zu authentifizieren versucht.
Während die meisten Unternehmen nur einen Microsoft Entra ID-Mandanten benötigen, kann es Szenarien geben, in denen Organisationen mehrere Mandanten haben müssen, um ihre Geschäftsziele zu erreichen. Ein großes Unternehmen kann mehrere unabhängige Geschäftseinheiten umfassen, die eine Koordination und Zusammenarbeit im gesamten Unternehmen erfordern. Städte in einer Region oder Schulen in einem Bezirk können ähnliche Anforderungen haben. In diesen Szenarien könnte jede Einheit einen eigenen Mandanten mit einer eigenen Konfiguration und eigenen Richtlinien haben. Da Microsoft Entra ID Mandanten in der Cloud hostet, können Organisationen die mandantenübergreifende Zusammenarbeit mit minimaler Reibung einrichten.
Microsoft Entra ID unterstützt folgendes unter einer Vielzahl von Protokollen.
- OAuth 2.0 ist der Branchenstandard für die Autorisierung. Anwendungen fordern ein Zugriffstoken mit dem OAuth 2.0-Protokoll an, um die Autorisierung für eine Anwendung für den Zugriff auf eine geschützte Ressource zu erhalten.
- OpenID Connect (OIDC) ist ein interoperabler Authentifizierungsstandard, der auf OAuth 2.0 basiert. Anwendungen fordern ein ID-Token mit dem OIDC-Protokoll an, um den aktuellen Benutzer zu authentifizieren.
- Security Assertion Markup Language (SAML 2.0) ist ein Authentifizierungsstandard. Anwendungen fordern von Microsoft Entra ID eine SAML-Assertion an, die auch als SAML-Token bezeichnet wird, um Authentifizierungs- und Autorisierungsdaten zwischen einer App und Microsoft Entra ID auszutauschen. Anwendungen verwenden SAML, um den aktuellen Benutzer zu authentifizieren.
- System for Cross-Domain Identity Management (SCIM) ist nicht für Authentifizierung und Autorisierung vorgesehen. SCIM ist ein Bereitstellungsprotokoll, das die Synchronisierung von Benutzer- und Gruppeninformationen zwischen Microsoft Entra ID und den angeschlossenen Anwendungen automatisiert. Die Synchronisierung stellt Benutzer und Gruppen für eine Anwendung bereit.
Die wichtigsten Vorgänge, die Anwendungen mit Microsoft Entra ID ausführen, sind das Anfordern und Verarbeiten von Token. In der Vergangenheit genügte es häufig, dass der Benutzer sich mit einem Benutzernamen und einem Kennwort identifizierte, damit ein Identitätsanbieter wie Microsoft Entra ID ein Token für eine App ausgab. Dieses Token hat die Frage „Wer ist der Benutzer und worauf kann die App zugreifen?“ beantwortet. Heute ist ein sichererer Ansatz zur Überprüfung von Identitätskonten für weitere Signale der Folgende:
- Wer ist der Benutzer?
- Worauf kann die App zugreifen?
- Von welchem Gerät aus?
- Mit welcher Stärke von Anmeldeinformationen?
- Von welchen Netzwerkadressen aus?
Microsoft Entra ID-Kunden können Features wie bedingten Zugriff verwenden, um zu bestimmen, welche Fragen oder Bedingungen sie auswerten möchten, um den sicheren Ressourcenzugriff sicherzustellen.
Entwickler, die Anwendungen erstellen, die eine Benutzeridentitätsbehandlung erfordern, müssen keinen Code schreiben, um diese Komplexität bei der Ausgabe von Token zu berücksichtigen. Integrierte MSAL-Funktionalitäten ermöglichen die Verarbeitung von Authentifizierungsanforderungen. Wenn der bedingte Zugriff aktiviert ist, stellt Microsoft Entra ID die Richtlinienerzwingung sicher, wenn eine Anwendung ein Token anfordert. Es überprüft Anforderungen anhand von Richtlinien wie dem Benutzerstandort (z. B. ob er sich im Unternehmensnetzwerk befindet) oder bewertet Risikosignale für den Benutzer. Die Benutzerrisikobewertung erfordert möglicherweise mehr Benutzerinteraktionen wie die Multi-Faktor-Authentifizierung (MFA). Nachdem Microsoft Entra ID die Konformität mit Richtlinieneinschränkungen überprüft hat, stellt sie ein Token aus. Wenn die Konformität nicht überprüft werden kann, stellt Microsoft Entra ID keine Token für die App aus und stellt dem Benutzer Kontext bereit, warum er nicht auf eine Ressource zugreifen kann.
Richtlinien für bedingten Zugriff sind jetzt komplexer. Es gibt eine breite Palette von Signalen, die bestimmen, ob ein Benutzer oder Dienst ein Token erhalten soll. Es kann z. B. wichtig sein, festzustellen, ob ein mobiles Gerät die Verwaltung mobiler Anwendungen (Mobile Application Management, MAM) verwendet oder ob Intune einen Windows-PC aus einer Desktop-App verwaltet. Allenfalls müssen Sie Token schützen, indem Sie diese an das Ursprungsgerät einer Anforderung binden. Diese Sorgfalt trägt dazu bei, Konformität und Sicherheit mit minimalen Reibungsverlusten für den Entwickler zu gewährleisten. Die Microsoft-Bibliotheken bieten das notwendige Gerüst und sind gleichzeitig flexibel genug, um auf spezifische Anforderungen zu reagieren.
Authentifizieren und Autorisieren mit Microsoft Entra ID
Microsoft Entra ID unterstützt Authentifizierungs- und Autorisierungsflows in Browsern, um webbasierte Objekte (z. B. Websites und APIs) und auf Clientplattformen wie Windows, macOS, Linux, iOS und Android zu sichern. Technologieanbieter im gesamten Ökosystem arbeiten mit Microsoft zusammen, um sicherzustellen, dass Kunden, ihre Organisationen und Partner nahtlose Erfahrungen mit der Verarbeitung von Anmeldeinformationen haben. Microsoft Edge arbeitet direkt mit Microsoft Entra ID zusammen, um geräteweites einmaliges Anmelden zur Authentifizierung von Benutzern auf ihren Windows-Geräten zu unterstützen. Google Chrome (Version 111) und Firefox (Version 91) verfügen über diese Funktionalität. Webanwendungen, die Microsoft Entra ID-Identitäten verwenden, verwenden diese Features automatisch in ihren browserbasierten Apps, um eine nahtlose Anmeldeerfahrung für Kunden zu bieten.
Damit native Anwendungen diese einheitliche SSO-Umgebung bereitstellen können, hat Microsoft Entra Authentifizierungsbroker eingeführt, Anwendungen, die auf dem Gerät eines Benutzers ausgeführt werden, um Authentifizierungs-Handshakes zu verwalten und Token für verbundene Konten zu unterhalten. Die folgenden Tabelle listet Authentifizierungsbroker für gängige Betriebssysteme auf.
Betriebssystem | Authentifizierungsbroker |
---|---|
iOS | Microsoft Authenticator-App |
Android | Microsoft Authenticator-App oder Intune-Unternehmensportal-App |
Windows | Integrierte Web Account Manager-Betriebssystemkomponente, verfügbar in Windows 10, Windows Server 2019 und höher, Windows 11 |
Mit Authentifizierungsbrokern können Entwickler nativer Anwendungen neue Microsoft Entra ID-Funktionen wie gerätebasierte Richtlinien für bedingten Zugriff verwenden, ohne Code neu schreiben zu müssen, wenn neue Features in der Cloud verfügbar werden. Anwendungen, die keinen Authentifizierungsbroker verwenden, sehen möglicherweise eine eingeschränkte App-Einführung durch Microsoft Entra ID-Kunden, die diese Features benötigen.
Delegieren der Identitäts- und Zugriffsverwaltung an Microsoft Entra ID
Sie können Anwendungen erstellen, welche die Identitäts- und Zugriffsverwaltung mithilfe eines beliebigen Entwicklertools, einer Bibliothek oder eines Frameworks, das OAuth 2.0, OIDC oder SAML mit den zuvor erläuterten Einschränkungen implementiert, an Microsoft Entra ID delegieren. Viele OIDC-Implementierungen mit OpenID-Zertifizierung für ein oder mehrere Zertifizierungsprofile, einschließlich Authentifizierungsprofile, erfordern eine minimale zusätzliche Konfiguration, um mit Microsoft Entra ID zu arbeiten. Um die Entwicklung für die Microsoft Entra ID-Plattform zu vereinfachen, arbeiten mehrere optimierte Microsoft-Bibliotheken mit Microsoft-Diensten und -Funktionalitäten.
- Wenn Sie Web-Apps, APIs oder andere Workloads (z. B. Daemons oder Dienste auf ASP.NET Core oder ASP.NET) erstellen, verwenden Sie Microsoft Identity Web.
- Wenn Sie auf Microsoft Azure aufbauen, verwenden Sie Azure-SDKs, welche die Azure Identity-Clientbibliotheken enthalten.
- Wenn Sie keine dieser Bibliotheken verwenden können, verwenden Sie eine MSAL für Ihre Entwicklungsumgebung, wie in der folgenden Tabelle gezeigt.
Bibliothek | Unterstützte Plattformen und Frameworks |
---|---|
MSAL für Android | Android |
MSAL Angular | Single-Page-Apps mit den Frameworks Angular und Angular.js |
MSAL Objective-C | iOS, iPadOS, macOS |
MSAL Go | Windows, macOS, Linux |
MSAL Java | Windows, macOS, Linux |
MSAL.js | JavaScript-/TypeScript-Frameworks wie Vue.js, Ember.js oder Durandal.js |
MSAL.NET | .NET, .NET Framework, Xamarin Android, Xamarin iOS |
MSAL Node | Web-Apps mit Express, Desktop-Apps mit Electron, plattformübergreifende Konsolen-Apps |
MSAL Python | Windows, macOS, Linux |
MSAL React | Single-Page-Apps mit React-Bibliotheken und React-basierten Bibliotheken (Next.js, Gatsby.js) |
Die MSAL-Bibliotheksfamilie bietet Kernfunktionalitäten für den Erwerb und die Zwischenspeicherung von Token. Basierend auf MSAL-, Microsoft Identity Web- und Azure Identity-Clients vereinfachen Sie den Erwerb von Token mit Authentifizierungsbibliotheksfunktionalitäten.
Wann immer möglich, empfehlen wir ISVs, auf MSAL aufzubauen oder auf einer Bibliothek, die auf MSAL basiert. MSAL unterstützt Authentifizierung mit Brokern, Szenarien für bedingten Zugriff, Tokenschutz, Microsoft Intune-App-Schutzrichtlinien und Verwaltung mobiler Apps, Fortlaufende Zugriffsevaluierung von Microsoft und mehr.
Auf allen verfügbaren Plattformen lässt sich das einheitliche MSAL-Authentifizierungsframework nahtlos in die Microsoft-Identitätsplattform integrieren, um eine konsistente und sichere Benutzerauthentifizierung zu gewährleisten. Da MSAL die Komplexität bei proaktiver Tokenerneuerung, Zwischenspeicherung und Sperrung abstrahiert, können Entwickler sicherstellen, dass Authentifizierungsflows sicher, robust und zuverlässig sind.
Zugreifen auf andere Ressourcen
Anwendungen benötigen häufig mehr als Authentifizierung und Autorisierung (z. B. Zugriff auf die Verzeichnisdaten des Mandanten). Zugriff kann das Abrufen von Attributen für Benutzer, Gruppen, Gruppenmitglieder, Anwendungen und Governance umfassen.
Microsoft Graph bietet Zugriff auf Identität und Zugriff, Benutzer, Gruppen und Anwendungen des Mandanten. Microsoft Graph ist das Gateway zu Daten und Intelligence in Microsoft 365. Sie können das einheitliches Programmierbarkeitsmodell verwenden, mit dem Sie auf die enormen Datenmengen in Microsoft 365, Windows 10 und Enterprise Mobility + Security (EMS) zugreifen können.
Nächste Schritte
- Einrichten von Anwendungen im Microsoft Entra ID-Ökosystem beschreibt, wie Sie das Microsoft Entra Admin Center oder die Microsoft Graph-API zum Registrieren von Apps in einem Microsoft Entra ID-Mandanten verwenden.
- Authentifizieren von Anwendungen und Benutzern beschreibt, wie Anwendungen Microsoft Entra ID zum Authentifizieren von Benutzern und Anwendungen verwenden.
- Autorisieren von Anwendungen, Ressourcen und Workloads behandelt die Autorisierung, wenn ein einzelner Benutzer mit einer Anwendung interagiert und sie steuert, wenn APIs im Namen eines Benutzers handeln und wenn Anwendungen oder Dienste unabhängig arbeiten.
- Anpassen von Token beschreibt, wie Sie ID-Token und Zugriffstoken von Microsoft Entra ID verwenden, um Sicherheit in Anwendungen zu integrieren. Es werden die Informationen beschrieben, die Sie in Microsoft Entra ID-Token empfangen können, und wie Sie sie anpassen können.