Lernprogramm: Eine App mit Microsoft Entra ID registrieren
In diesem Tutorial wird beschrieben, wie Sie eine Anwendung (Desktop, mobil oder Web) mit Microsoft Entra-ID registrieren. Eine App-Registrierung ist erforderlich, bevor sich eine Anwendung bei Microsoft Dataverse authentifizieren und auf Geschäftsdaten zugreifen kann.
Die in diesem Artikel enthaltenen Anweisungen beziehen sich speziell auf die App-Registrierung in Microsoft Entra für den Dataverse-Zugriff. Ausführlichere Informationen zur Microsoft Entra ID-App-Registrierung finden Sie unter Anwendungsregistrierung in Microsoft Entra ID.
Informationen zur App-Registrierung und -Authentifizierung
Dataverse unterstützt noch mehrere Authentifizierungsflows: Benutzername/Kennwort, geheimer Clientschlüssel und Zertifikat. Die App-Registrierung und -Authentifizierung unterscheidet sich bei den einzelnen Flows geringfügig. Dieser Artikel bespricht die Authentifizierungsflows mit Benutzername/Kennwort und dem geheimen Clientschlüssel. Der Zertifizierungsflow soll in einem zukünftigen Artikel dokumentiert werden.
Damit sich eine App mit Dataverse authentifizieren kann und Zugriff auf Geschäftsdaten erhält, müssen Sie die App erst in Microsoft Entra ID registrieren. Diese App-Registrierung wird dann während des Authentifizierungsprozesses verwendet.
Öffentliche und vertrauliche Clients
Es gibt zwei Arten von Clients, mit denen Sie sich bei Dataverse authentifizieren können: öffentliche und vertrauliche. Diese Clients werden durch die PublicClientApplicationBuilder- und ConfidentialClientApplicationBuilder-Klassen dargestellt. Sie können diese Klassen direkt in Ihrer App instanziieren, beispielsweise wenn Ihre App die Dataverse-Web-API verwendet oder Sie die verwenden ServiceClient-Klasse verwenden können. Die ServiceClient
-Klasse verarbeitet die Instanziierung dieser Clients intern basierend auf den Konfigurationswerten in den übergebenen Verbindungszeichenfolgenparametern.
Anmerkung
Der vertrauliche Client wird mit einem geheimen Clientschlüssel oder Zertifikat verwendet und wird oft als Dienstprinzipal-, Anwendungsbenutzer- oder Server-zu-Server-(S2S-)Authentifizierung bezeichnet.
Anforderungen
- Ein Microsoft Entra-Abonnement für die Anwendungsregistrierung. Ein Testkonto funktioniert auch.
Falls Sie keinen Azure-Mandanten (Konto) haben oder darüber zwar verfügen, aber Ihr Microsoft 365-Abonnement mit Dataverse nicht in Ihrem Azure-Abonnement verfügbar ist, folgen Sie den Anweisungen im Artikel Einrichten des Microsoft Entra ID-Zugriffs für die Entwicklerseite, um die beiden Konten zuzuordnen.
Eine App mit einem öffentlichen Client registrieren
Gehen Sie wie folgt vor, um eine App-Registrierung für einen Authentifizierungsflow mit Benutzername/Kennwort und zur Verwendung mit einem öffentlichen Client oder einer ServiceClient
Verbindungszeichenfolge zu erstellen.
Melden Sie sich beim Microsoft Azure-Portal mit einem Konto mit Administratorrechten an. Sie müssen ein Konto im gleichen Microsoft 365-Abonnement (Mandant) verwenden, in dem Sie auch eine App registrieren möchten. Wählen Sie auf der Startseite des Portals unter Azure-Dienste die Option Microsoft Entra ID aus.
Alternativ können Sie das Azure-Portal auch über das Microsoft 365 Admin Center aufrufen, indem Sie zuerst das Element Alle Admin Center im linken Navigationsbereich auswählen. Wählen Sie Microsoft Entra und dann Zu Microsoft Entra ID wechseln aus. Erweitern Sie als Nächstes im linken Navigationsbereich des Microsoft Entra Admin Centers den Knoten Anwendungen.
Wählen Sie im linken Navigationsbereich App-Registrierungen und dann + Neue Registrierung auf der Seite App-Registrierungen aus.
Geben Sie auf der Seite App-Registrierungen die Registrierungsinformationen Ihrer Anmeldung wie in der Tabelle beschrieben ein.
Formulareingabeelement Beschreibung Name des Dataflows Geben Sie einen aussagekräftigen Anwendungsnamen ein, der den Benutzern angezeigt wird. Unterstützte Kontenarten Wählen Sie die Option Konten in <einem beliebigen oder diesem> Organisationsverzeichnis aus. Wählen Sie Registrieren aus, um die Anwendungsregistrierung zu erstellen. Die Seite mit der App-Registrierungsübersicht wird angezeigt. Bleiben Sie auf dieser Seite.
Wählen Sie auf der Seite Übersicht unter Grundlagen den Link Umleitungs-URI hinzufügen aus. Legen Sie die Umleitungs-URI fest, indem Sie zunächst Plattform hinzufügen auswählen, einen URI-Wert eingeben und dann Konfigurieren auswählen.
Sie müssen einen Umleitungs-URI-Wert angeben, der wie folgt beschrieben wird. Verwenden Sie für eine in .NET Framework erstellte Desktop- oder mobile App den URI-Wert „app://<Anwendung (Client) ID>“. Dieser ID-Wert wird auf der Seite Übersicht der registrierten App angezeigt. Verwenden Sie für eine mit .NET Core erstellte Desktop- oder mobile Anwendung, die MSAL zur Authentifizierung verwendet, den URI-Wert http://localhost". Verwenden Sie für eine Web-API-App eine beliebige gültige Webadresse, die Adresse muss jedoch nicht tatsächlich vorhanden sein.
Bewegen Sie auf der Seite Übersicht Ihrer neu erstellten App den Mauszeiger über den Wert Anwendungs-ID (Client) und wählen Sie das Symbol „In die Zwischenablage kopieren“, um den ID-Wert zu kopieren. Erfassen Sie den Wert irgendwo. Sie müssen diesen Wert später gegebenenfalls im Authentifizierungscode Ihrer Anwendung oder in der Datei „app.config“ angeben.
Wählen Sie API-Berechtigungen im linken Navigationsbereich aus, und klicken Sie dann auf Eine Berechtigung hinzufügen.
Wählen Sie die Registerkarte APIs, die meine Organisation verwendet aus, und geben Sie dann in das Suchfeld „Dataverse“ ein, um nach dem Dataverse-Eintrag zu suchen. Wählen Sie das Dataverse-Element in der Liste der Suchergebnisse aus.
Wählen Sie auf der Seite API-Berechtigungen anfordern Delegierte Berechtigungen aus. Setzen Sie als Nächstes ein Häkchen im Kontrollkästchen der Option user_impersonation
Wählen Sie Administratoreinwilligung erteilen für <Name> aus, obwohl es so aussieht, als wäre er bereits aktiviert. Wählen Sie als Nächstes im Popup Ja aus, um Ihre Einwilligung zu erteilen. Wenn Sie die Einwilligung hier nicht genehmigen, erhält Ihre App zur Laufzeit einen Einwilligungsfehler.
Anmerkung
Wenn die Option Administratoreinwilligung erteilen für <Name> ausgegraut (nicht auswählbar) ist, haben Sie nicht die Berechtigung zum Festlegen dieses Werts. Weitere Informationen: Schaltfläche „Administratoreinwilligung“, Benutzer- und Administratoreinwilligung in Microsoft Entra ID
Wählen Sie Berechtigungen hinzufügen aus.
(Optional) Wählen Sie auf der Seite Authentifizierung unter Erweiterte Einstellungen und Öffentliche Clientflows zulassen Ja und dann Speichern aus. Weitere Informationen finden Sie in der Beschreibung in den nächsten Absätzen.
Wenn die Client-App während der Authentifizierung kein Kennwort für einen Flow aus Benutzernamen und Kennwort bereitstellt, werden die App-Benutzenden in einem Browserfenster zur Eingabe von Anmeldeinformationen aufgefordert.
Wenn Sie beabsichtigen, ein Kennwort für die Client-Authentifizierung bereitzustellen, müssen Sie Folgende mobilen und Desktop-Flows aktivieren explizit auf Ja setzen. Diese Anforderung soll verhindern, dass in Code, App.config usw. ein Kennwort angegeben wird, da diese Methode weniger sicher ist.
Sie haben die App-Registrierung mit einem öffentlichen Client in Microsoft Entra ID abgeschlossen.
Eine App mit vertraulichem Client registrieren
Führen Sie die Schritte in den Nächsten beiden Abschnitten aus, um eine App-Registrierung für einen Authentifizierungsflow mit einem geheimen Clientschlüssel oder Zertifikat zu erstellen und diese mit einer vertraulichen Client- oder ServiceClient
-Verbindungszeichenfolge zu verwenden. Sie erstellen eine Microsoft Entra ID-App-Registrierung und einen neuen App-Benutzenden im Power Platform Admin Center.
Die App-Registrierung erstellen
Die App-Registrierung ist für den vertraulichen Client im Vergleich zum öffentlichen Client viel einfacher. Sie müssen lediglich einen App-Registrierungsnamen angeben und den Mandantenbereich (Kontotyp) festlegen.
Melden Sie sich beim Microsoft Azure-Portal mit einem Konto mit Administratorrechten an. Sie müssen ein Konto im gleichen Microsoft 365-Abonnement (Mandant) verwenden, in dem Sie auch eine App registrieren möchten. Wählen Sie auf der Startseite des Portals unter Azure-Dienste die Option Microsoft Entra ID aus.
Alternativ können Sie das Azure-Portal auch über das Microsoft 365 Admin Center aufrufen, indem Sie zuerst das Element Alle Admin Center im linken Navigationsbereich auswählen. Wählen Sie Microsoft Entra und dann Zu Microsoft Entra ID wechseln aus. Erweitern Sie als Nächstes im linken Navigationsbereich des Microsoft Entra Admin Centers den Knoten Anwendungen.
Wählen Sie im linken Navigationsbereich App-Registrierungen und dann + Neue Registrierung auf der Seite App-Registrierungen aus.
Geben Sie auf der Seite App-Registrierungen die Registrierungsinformationen Ihrer Anmeldung wie in der Tabelle beschrieben ein.
Formulareingabeelement Beschreibung Name des Dataflows Geben Sie einen aussagekräftigen Anwendungsnamen ein, der den Benutzern angezeigt wird. Unterstützte Kontenarten Wählen Sie die Option Konten in <einem beliebigen oder diesem> Organisationsverzeichnis aus. Wählen Sie Registrieren aus, um die Anwendungsregistrierung zu erstellen. Die Seite mit der App-Registrierungsübersicht wird angezeigt.
Fügen Sie einen geheimen Clientschlüssel hinzu, indem Sie im Navigationsbereich den Link Zertifikate und Geheimnisse auswählen. Mehr Informationen: Geheimer Clientschlüssel hinzufügen
Wichtig
Speichern Sie nach dem Hinzufügen eines geheimen Clientschlüssels eine Kopie des Geheimwerts zur späteren Verwendung. Verlassen Sie die Seite des geheimen Clientschlüssels erst, nachdem Sie den Geheimniswert (nicht die ID) kopiert haben, da Sie später nicht mehr auf den Geheimniswert zugreifen können.
Neuen App-Benutzer erstellen
Gehen Sie wie folgt vor, um einen App-Benutzenden zu erstellen und ihn mit Ihrer App-Registrierung zu verbinden.
Melden Sie sich beim Power Platform Admin Center an. Verwenden Sie dabei denselben Mandanten wie für Ihre App-Registrierung.
Wählen Sie im linken Navigationsbereich Umgebungen aus und wählen Sie dann die Zielumgebung in der Liste aus, um die Umgebungsinformationen anzuzeigen.
Wählen Sie den S2S rechts auf der Seite aus.
Wählen Sie Neuer App-Benutzer.
Wählen Sie im Slide-Out Neuen App-Benutzenden erstellen die Option + App hinzufügen aus.
Beginnen Sie mit der Eingabe des Namens Ihrer App-Registrierung in das Suchfeld und wählen Sie ihn dann aus der Ergebnisliste aus (setzen Sie ein Häkchen). Wählen Sie als Nächstes Hinzufügen aus.
Zurück im Slide-Out Neuen App-Benutzenden erstellen wählen Sie im Dropdownmenü die Zielunternehmenseinheit aus und fügen Sie ein Sicherheitsrolle für den App-Benutzenden hinzu (auch als Dienstprinzipal bekannt).
Wählen Sie Speichern und dann Erstellen. Sie sollten Ihren neuen Anwendungsbenutzenden in der angezeigten Liste der Anwendungsbenutzenden sehen.
Eine App-Registrierung in Code verwenden
Informationen zum Anzeigen von Code, der eine App-Registrierung verwendet, finden Sie in den SDK-Beispielen in Get Started und im Web-API-Beispiel QuickStart .
Der Beispielcode enthält beispielhafte öffentliche und vertrauliche Client-Verbindungszeichenfolgen zur Verwendung mit der ServiceClient
-Klasse.