Microsoft Graph und Microsoft Identity

Abgeschlossen

In dieser Lerneinheit liegt der Schwerpunkt auf der Microsoft Entra-ID. Sie erfahren, wie Sie das Microsoft Entra Admin Center verwenden, um eine Anwendung zu registrieren, die Anmeldeinformationen der App einzurichten und den Typ der Anwendung zu konfigurieren. Als Nächstes erfahren Sie, wie Sie eine vorhandene ASP.NET MVC-Anwendung so ändern, dass sie mit Microsoft Entra ID funktioniert.

Microsoft Entra-Endpunktversionen

Microsoft Entra-Endpunktversionen

Die Microsoft Entra-ID enthält zwei Authentifizierungs- und Tokenendpunkte. Der v2-Endpunkt ist der empfohlene Endpunkt für alle Anwendungen, die Microsoft Graph verwenden. Um zu verstehen, warum das so ist, sehen wir uns die Vorteile gegenüber dem v1-Endpunkt an.

Azure AD-v1-Endpunkt

Der Azure AD v1-Endpunkt unterstützt nur die Microsoft Entra-Authentifizierung. Er unterstützt keine anderen Authentifizierungsarten, z. B. ein Microsoft-Konto. Wenn sich der Benutzer mit einem persönlichen-Konto oder einem Verbraucherkonto (auch als Microsoft-Konto bezeichnet) angemeldet hat und auf Elemente wie sein OneDrive-Verbraucherkonto oder Outlook.com zugreifen wollte, musste der Entwickler der Anwendung einen speziellen Authentifizierungscode für diese Arten von Konten schreiben. Dies ist ein Nachteil des v1-Endpunkts, da er nur die Arbeit in Schulkonten (Microsoft Entra-Konten) unterstützt.

Eine weitere Herausforderung beim v1-Endpunkt besteht darin, dass er nur die statische Zustimmung unterstützt. Statische Zustimmung bedeutet, dass alle einzelnen Berechtigungen, die für eine Anwendung erforderlich sind, vorab definiert werden müssen und der Benutzer der Anwendung bei der ersten Anmeldung für alle Berechtigungen seine Zustimmung erteilen muss.

Azure AD-v2-Endpunkt

Der Azure AD-v2-Endpunkt behebt diese beiden Mängel des v1-Endpunkts. Zunächst wird eine zusammengeführte Authentifizierung implementiert, die das Microsoft-Konto und das Geschäfts-, Schul- und Unikonto (Microsoft Entra ID) anmeldet. Entwickler müssen Benutzer nicht mehr zu bestimmten Anmeldeoberflächen weiterleiten. Alle Benutzer werden zu der konvergierten Anmeldeoberfläche weitergeleitet und benötigen Microsoft Identity, um den Kontotyp zu ermitteln. Auf diese Weise können Entwickler den gleichen Code für den Zugriff auf Microsoft Graph zum Lesen von E-Mails und Abrufen von Kontakten schreiben.

Ein weiterer Vorteil des v2-Endpunkts ist die dynamische Zustimmung. Die dynamische Zustimmung unterscheidet sich von der statischen Zustimmung darin, dass die Anwendung beim Anmelden einen Benutzer die erforderlichen Berechtigungen anfordert. Microsoft Identity bestimmt, ob der Benutzer zuvor den angeforderten Berechtigungen zugestimmt hat. Wenn einer oder mehreren nicht zugestimmt wurde, wird dem Benutzer das Dialogfeld "Zustimmung" nur für die neuen Berechtigungsanforderungen angezeigt.

Der v2-Endpunkt unterstützt auch den OpenID Connect-Standard zum Einschließen eines ID-Tokens, wenn dieser bei der Anmeldung angefordert wird. Hierbei handelt es sich um eine Erweiterung des Authentifizierungsprotokolls, und sobald der Benutzer sich erfolgreich angemeldet hat, wird es in der Anmeldeanforderung an die Anwendung zurückgegeben. Das ID-Token enthält Informationen zum aktuellen Benutzer, z. B. seine E-Mail-Adresse und seinen Namen. Während der v1-Endpunkt einige Unterstützung für OpenID Connect aufwies, entspricht der v2-Endpunkt besser der OpenID Connect-Spezifikation.

Registrieren von Microsoft Entra-Anwendungen im Microsoft Entra Admin Center

Microsoft Entra-App-Registrierung

Alle Apps, denen Berechtigungen für die Verwendung anderer Apps erteilt werden müssen, müssen in der Microsoft Entra-ID registriert werden. Die App-Registrierung erfolgt über das Microsoft Entra Admin Center unter https://aad.portal.azure.com. Das Microsoft Entra Admin Center erfordert nicht, dass Benutzer über ein kostenpflichtiges Azure-Abonnement verfügen, um Benutzer und Apps zu verwalten. Ein Benutzer muss Zugriff zum Lesen und Bearbeiten von Benutzern, Gruppen, Apps oder zum Verwalten des Verzeichnisses haben. Das Admin Center vereint verschiedene App-Verwaltungsportale, die Entwicklern und Administratoren zuvor auf einer Website zur Verfügung standen. In diesem Portal können Sie Apps verwalten, die für die Verwendung der Microsoft Identity-Endpunkte v1 und v2 erstellt wurden.

Benutzerdefinierte Anwendungen können eine der Authentifizierungsbibliotheken verwenden, die von Microsoft bereitgestellt werden. Jede der beiden Bibliotheken wird über verschiedene SDKs für jede der von Microsoft Identity unterstützten Plattformen und Sprachen bereitgestellt.

Apps, die die v2-Endpunkte verwenden, können die Microsoft Authentication Library (MSAL)-SDKs verwenden. MSAL ersetzte die bisherige Bibliothek Azure AD-Authentifizierungsbibliothek (ADAL), die nur mit den v1-Endpunkten funktioniert.

Für in Microsoft Graph integrierte Apps empfiehlt Microsoft Entwicklern, die Microsoft Identity-v2-Endpunkte und somit die MSAL-Bibliothek zu verwenden.

Webanwendungen und Microsoft Identity

In diesem Modul wird eine ASP.NET MVC-Webanwendung verwendet, um zu demonstrieren, wie Ereignisse aus dem Kalender eines Benutzers mit Microsoft Graph angefordert und angezeigt werden. In diesem Szenario wird der OAuth 2.0-Autorisierungscode-Genehmigungsflow implementiert, um ein Zugriffstoken von Microsoft Entra ID zu erhalten. Das Zugriffstoken wird in jede Anforderung einbezogen, die zur Authentifizierung des Benutzers und der Anwendung an Microsoft Graph gesendet wird.

Die Web-App muss sich mit der Microsoft Entra-ID authentifizieren, wenn sie das Zugriffstoken anfordert. Im Rahmen der Zugriffstoken-Anforderung muss die App ihre App-ID, auch als Client-ID bezeichnet, sowie einen geheimen Schlüssel angeben. Der geheime Schlüssel kann ein x509-Zertifikat oder eine Zeichenfolge sein.

Die Web-App muss Microsoft Identity auch die Adresse der Web-App mitteilen, zu der Microsoft Identity den Benutzer bei einer erfolgreichen Anmeldung weiterleiten soll. Diese Adresse wird als Umleitungs-URI bezeichnet. Der in der Anmeldung enthaltene URI muss der Adresse in der App-Registrierung entsprechen.

Der letzte Schritt im App-Registrierungsprozess im Microsoft Entra Admin Center besteht darin, alle Berechtigungen anzugeben, die die App benötigt. Dies kann entweder delegierte Berechtigungen oder Anwendungsberechtigungen umfassen. Delegierte Berechtigungen sind solche, die der Benutzer der App erteilt, um in seinem Namen zu handeln, wenn er bei der App angemeldet ist. Wenn keine interaktive Benutzersitzung vorhanden ist, werden Anwendungsberechtigungen von der App verwendet, als ob eine Dienst-App oder-Dämon-App vorliegen würde. Berechtigungen, die im Microsoft Entra Admin Center definiert werden, sind statische Berechtigungen, keine dynamischen Berechtigungen. Benutzern werden diese Berechtigungen angezeigt, wenn Sie sich im Rahmen der zuvor erörterten allgemeinen Zustimmung zum ersten Mal bei der Anwendung anmelden.

Zusammenfassung

Diese Lerneinheit konzentrierte sich auf Die Microsoft Entra-ID und die App-Registrierung. Sie haben erfahren, wie Sie das Microsoft Entra Admin Center verwenden, um eine Anwendung zu registrieren, die Anmeldeinformationen der App einzurichten und den Typ der Anwendung zu konfigurieren. Außerdem haben Sie erfahren, wie Sie eine vorhandene ASP.NET MVC-Anwendung so ändern, dass sie mit Microsoft Entra ID funktioniert.