Verwenden Sie eine mandantenübergreifende Server-zu-Server-Authentifizierung
Multi-Tenancy ist das allgemeinste App-Szenario und dasjenige, das für Apps verwendet wird, die mit Microsoft AppSource verteilt werden, aber Sie können auch Multi-Tenancy verwenden, ohne Ihre Anwendung mit Microsoft AppSource aufzulisten.
Jede Microsoft Dataverse-Organisation ist einem Microsoft Entra ID-Mandanten zugeordnet. Ihre Webanwendung oder der Dienst ist mit einem eigenen Microsoft Entra ID-Mandanten registriert.
In diesem Szenario kann jeder Dataverse-Mandant potenziell Ihre mandantenfähige Anwendung nutzen, nachdem ein Administrator der Anwendung den Zugriff auf Daten erlaubt hat.
Anforderungen
Wenn Sie eine mehrinstanzenfähige Anwendung erstellen und testen, die eine Server-zu-Server (S2S) Authentifizierung verwendet, müssen die folgenden Aktionen ausgeführt werden:
Sie benötigen einen Microsoft Entra ID-Mandanten, um Ihre Anwendung oder Ihren Service zu veröffentlichen.
Zwei (2) Dataverse-Abonnements
- Einer muss dem Microsoft Entra ID-Mandanten zugewiesen sein, den Sie verwenden, um Ihre Anwendung oder Ihren Service zu veröffentlichen.
- Der andere kann ein Testabonnement sein, das verwendet wird, um zu testen, wie Abonnenten auf Ihre Anwendung zugreifen.
Übersicht: Entwickeln und testen Sie Ihre Anwendung
Die Anwendung, die Sie erstellen, muss mit dem Microsoft Entra ID-Mandanten registriert sein, den Sie verwenden, wenn Sie die Anwendung veröffentlichen.
Auf einer allgemeinen Ebene besteht der Prozess aus:
- Erstellen Sie eine mehrinstanzenfähige Webanwendung mit Ihrem Microsoft Entra ID-Mandanten.
- Erstellen Sie einen Anwendungsbenutzer, der mit der registrierten Anwendung in Ihrem Dataverse-Mandanten verbunden ist
- Erstellen einer benutzerdefinierten Sicherheitsrolle und zuweisen zu einem Anwendungsbenutzer im Dataverse-Mandanten
- Testen der Anwendung mithilfe des Dataverse-Mandanten
- Testen der Anwendung mithilfe eines separaten Dataverse-Mandanten
Eine mehrinstanzenfähige Webanwendung mit Ihrem Microsoft Entra ID-Mandanten erstellen
Sie erstellen eine mehrinstanzenfähige Web-Anwendung oder einen Service, der Microsoft Entra ID als Authentifizierungsanbieter verwendet.
Wie Sie dabei vorgehen, ist nicht Teil des Fokus in diesem Thema. Es gibt verschiedene Möglichkeiten, um die zu unterstützen und treffen Sie eine Wahl, die Ihren Anforderungen oder Einstellungen entspricht. Weitere Links zu mehr Informationen und Beispielen finden Sie hier:
- Erstellen einer mehrinstanzenfähigen SaaS-Webanwendung mit Microsoft Entra ID und OpenID Connect
- Ein ASP.NET Core-Web-App-Benutzer, der sich bei einer beliebigen Organisation mit der Microsoft-Identitätsplattform anmeldet
Microsoft Entra ID erfordert die folgenden Werte, um Ihre Anwendung zu registrieren:
Wert | Beschreibung |
---|---|
Anwendungs-ID der URI | Der Bezeichner für die Anwendung. Dieser Wert wird während der Authentifizierung an Microsoft Entra ID gesendet, um anzugeben, für welche Anwendung der Anrufer einen Token möchte. Darüber hinaus ist dieser Wert im Token enthalten, sodass die Anwendung weiß, dass dies das beabsichtigte Ziel war. |
Auf URL antworten und URI umleiten | Im Falle einer Web-API oder Webanwendung ist die Antwort-URL der Ort, an den Microsoft Entra ID die Authentifizierungsantwort sendet, einschließlich eines Tokens, wenn die Authentifizierung erfolgreich war. |
Client ID | Die ID für eine Anwendung, die über Microsoft Entra ID generiert wird, wenn die Anwendung registriert ist. Wenn Sie einen Autorisierungscode oder einen Token anfordern, werden die Client-ID und der Schlüssel in Microsoft Entra ID bei der Authentifizierung gesendet. |
Key | Der Schlüssel, der zusammen mit einer Client-ID beim Authentifizieren an Microsoft Entra ID gesendet wird, um eine Web-API aufzurufen. |
Wenn die Anwendung registriert wird, wird ihr eine Microsoft Entra ID-Objekt-ID zugewiesen, ein eindeutiger Bezeichner für die registrierte Anwendung.
Wenn Sie eine neue ASP.NET-MVC Anwendung in Visual Studio erstellen, haben Sie die Optionen, um anzugeben, dass die Anwendung mehrinstanzenfähige Funktionen unterstützt. Die Vorlage für eine MVC-Anwendung bietet die Möglichkeit anzugeben, welche Art Authentifizierung erfolgt. Sie haben die Möglichkeit, die Authentifizierungsmethode zu wählen, indem Sie die Eigenschaften des Projektumfangs konfigurieren, wenn Sie es erstellen. Das folgende Diagramm zeigt die verfügbaren Optionen an:
Wenn Sie ein Projekt für diese Optionen konfigurieren, wird es so konfiguriert, dass OWIN Middleware für eine Grundanwendung verwendet wird, die dieses Szenario unterstützt. Mit einigen grundlegenden Änderungen können sie für Dataverse angepasst werden.
Im Erstellungs- und Anmeldeprozess Ihrer Anwendung für die Entwicklung werden Sie wahrscheinlich https://localhost
als Anmelde-URL und Antworte-URL Wert verwenden, damit Sie Ihre Anwendung lokal testen und von Fehlern befreien können, bevor Sie sie veröffentlichen. Sie müssen die Werte ändern, bevor Sie die App veröffentlichen.
Wenn Sie die App registrieren, müssen Sie einen Schlüssel erstellen, der auch als ClientSecret
bekannt ist. Diese Schlüssel können für 1 oder 2 Jahre konfiguriert werden. Als Host der Anwendung müssen Sie diesen Wert wie ein Kennwort behandeln und es liegt in Ihrer Verantwortung, die Schlüssel vor Ablauf zu erneuern. Sie möchten Key Vault verwenden. Weitere Informationen: https://azure.microsoft.com/services/key-vault/
Gewähren von Zugriffsrechten auf Dataverse-Daten für Ihre Anwendung
Dies ist der Grund, warum Ihr Dataverse-Mandant mit Ihrem Microsoft Entra ID-Mandanten verknüpft sein muss. Wenn der Microsoft Entra ID-Mandant keinem Dataverse-Mandanten zugeordnet ist, können Sie folgende Schritte nicht ausführen.
- Gehen Sie zu https://portal.azure.com und wählen Sie Microsoft Entra ID aus.
- Klicken Sie auf App-Registrierungen und suchen Sie nach der Anwendung, die Sie in Visual Studio verwenden.
- Sie müssen Ihrer Anwendung Rechte geben, um auf die Dataverse-Daten zuzugreifen. Im Bereich API Zugriff klicken Sie auf Erforderliche Berechtigungen. Sie sollten sehen, dass es bereits die Berechtigungen für Windows Azure Active Directory hat.
- Klicken Sie auf Hinzufügen, und wählen Sie Eine API auswählen aus. Wählen Sie in der Liste Dynamics 365 aus und klicken Sie auf die Schaltfläche Auswählen.
- In Berechtigungen wählen wählen Sie Zugriff auf Dynamics 365 als Organisationsbenutzer aus. Klicken Sie dann auf die Schaltfläche Auswählen.
- Klicken Sie auf Fertig, um diese Berechtigungen hinzufügen. Wenn Sie fertig sind, sollten Sie die übernommenen Berechtigungen finden.
Erstellen Sie einen Anwendungsbenutzer, der mit der registrierten Anwendung in Dataverse verbunden ist.
Falls Ihre Anwendung auf die Dataverse-Daten eines Abonnenten Ihrer Anwendung zugreift, erfordert dies einen Anwendungsbenutzer in der Dataverse-Organisation des Abonnenten. Wie jeder Dataverse-Benutzer muss diesem Anwendungsbenutzer mindestens eine Sicherheitsrolle zugeordnet werden, die die Daten definiert, auf die der Benutzer zugreifen kann.
Die SystemUser Tabelle hat drei neue Spalten, um diese Daten zu speichern.
Schemaname | Anzeigename | Art | Beschreibung |
---|---|---|---|
ApplicationId | Anwendungs-ID | UniqueidentifierType | Der Bezeichner für die Anwendung. Dies wird für die Daten in einer anderen Anwendung verwendet. |
ApplicationIdUri | URI der Anwendungs-ID | StringType | Die URI die als eindeutigen logischen Bezeichner für die externe App verwendet wird.. Dies kann verwendet werden, um die Anwendung zu überprüfen |
AzureActiveDirectoryObjectId | Objekt-ID von Azure AD | UniqueidentifierType | Dies ist die Objekt-ID des Anwendungsverzeichnisses. |
Dieser systemuser``AzureActiveDirectoryObjectId
-Eigenschaftswert muss ein Verweis auf die Microsoft Entra ID-Objekt-ID der registrierten Anwendung sein. Dieser Verweis wird in Dataverse festgelegt, wenn der Anwendungsbenutzer basierend auf dem ApplicationId
-Wert erstellt wird.
Hinweis
Wenn Sie Ihre Anwendung erstmalig mit Ihrem eigenen Dataverse-Mandanten und dem ihm zugeordneten Microsoft Entra ID-Mandanten entwickeln, können Sie den Anwendungsbenutzer einfach erstellen, da die registrierte Anwendung bereits Teil des Microsoft Entra ID-Mandanten ist.
Um jedoch den Anwendungsbenutzer in einer anderen Organisation für das Testen zu erstellen oder wenn ein Abonnent die Anwendung verwenden wird, müssen sie zuerst Zugriff auf Ihre Anwendung erhalten, und deshalb sind die Schritte in diesem Prozess unterschiedlich. Siehe Testen Sie die Anwendung mithilfe eines separaten Dynamics 365-Mandanten für weitere Informationen.
Erstellen einer Sicherheitsrolle für den Anwendungsbenutzer
Im nächsten Schritt können Sie einen Dataverse-Anwendungsbenutzer erstellen. Die Rechte und die Berechtigungen für diesen Benutzer werden durch eine benutzerdefinierte Sicherheitsrolle definiert. Bevor Sie den Anwendungsbenutzer erstellen, müssen Sie eine benutzerdefinierte Sicherheitsrolle erstellen, sodass Sie den Benutzer zuordnen können. Weitere Information finden Sie unter Erstellen oder Bearbeiten einer Sicherheitsrolle
Hinweis
Der Anwendungsbenutzer darf nicht einer der standardmäßigen Dataverse-Sicherheitsrollen zugeordnet werden. Sie müssen eine benutzerdefinierte Sicherheitsrolle zur Zuordnung mit dem Anwendungsbenutzer erstellen.
Manuelles Erstellen eines Dataverse-Anwendungsbenutzers
Das interaktive Verfahren zum Erstellen eines nicht lizenzierten Anwendungsbenutzers wird in diesem Artikel Anwendungsbenutzer erstellen beschrieben. Nachdem Sie den Anwendungsbenutzer erstellt haben, verbinden Sie ihn mit der angepassten Sicherheitsrolle, die Sie in Erstellen einer Sicherheitsrolle für den Anwendungsbenutzer erstellt haben.
Weitere Informationen: Anwendungsbenutzer über das Power Platform Admin Center verwalten
Testen der Anwendung mithilfe des Dataverse-Mandanten
Da die Anwendung mit Ihrem Microsoft Entra ID-Mandanten registriert wurde und der Anwendungsbenutzer in Ihrer Entwicklungsorganisation bereits konfiguriert ist, können Sie Ihre Anwendung mit Ihrem eigenen Dataverse-Mandanten weiterentwickeln. Aber dies ist kein gültiger Test für eine mehrinstanzenfähige Mandaten-Funktion. Sie müssen Ihre Anwendung mithilfe eines separaten Dataverse-Mandanten testen.
Testen der Anwendung mithilfe eines separaten Dataverse-Mandanten
Bevor Sie Ihre Anwendung mit einem separaten Dataverse-Mandanten testen, sollte ein Administrator für den Microsoft Entra ID-Mandanten die Zustimmung für die Anwendung gewähren. Der Administrator gewährt die Zustimmung, indem Sie die Anwendung mithilfe eines Browsers navigieren. Bei der ersten Anmeldung bei der Anwendung, sehen sie einen Dialog wie dieser:
Wenn sie die Zustimmung gewähren, wird Ihre registrierte Anwendung der Microsoft Entra ID-Unternehmensanwendungsliste hinzugefügt und sie wird für Benutzer des Microsoft Entra ID-Mandanten bereitgestellt.
Erst nachdem ein Administrator die Zustimmung gewährt hat, können Sie die Anwendungsbenutzer im Dataverse-Mandanten des Abonnenten erstellen. Sie können den Anwendungsbenutzer manuell erstellen mit den Schritten, die unter Manuelles Erstellen eines Dynamics 365-Anwendungsbenutzers beschrieben werden.
Für die anfänglichen Tests möchten Sie diese Schritte allenfalls manuell ausführen. Wenn Sie bereit sind, Ihre Anwendung oder den Service dem Abonnent bereitzustellen, möchten Sie eine effizientere Vorgehensweise. Dies wird im nächsten Abschnitt behandeltet.
Bereiten Sie eine Möglichkeit vor, um den Anwendungsbenutzer bereitzustellen
Nachdem der Abonnent die Zustimmung zu Ihrer Anwendung oder zu Ihrem Service gewährt hat, brauchen Sie einen einfachen, verlässlichen Weg, um diesen Anwendungsbenutzer und andere erforderlichen Komponenten der Dataverse-Organisation hinzuzufügen.
Sie müssen eine benutzerdefinierte Sicherheitsrolle einschließen, die definiert, welche Rechte der Anwendung erforderlich sind und überprüft dann, ob der Anwendungsbenutzer dieser benutzerdefinierten Sicherheitsrolle zugeordnet ist. Da eine benutzerdefinierte Sicherheitsrolle einer Lösung hinzugefügt werden kann, sollten Sie möglicherweise eine verwaltete Lösung vorbereiten, die Definition der benutzerdefinierten Sicherheitsrolle und andere Lösungskomponente Ihre Anwendung enthält.
Informationen zum Erstellen benutzerdefinierter Sicherheitsrollen finden Sie unter
Hinzufügen von Lösungskomponenten
Informationen zum Erstellen einer Dataverse-Lösung finden Sie in den folgenden Themen:
Packen und Verteilen von Erweiterungen mithilfe von Lösungen
Allerdings kann der Anwendungsbenutzer nicht einer Lösung hinzugefügt werden. Sie müssen daher eine Möglichkeit bereitstellen, die Anwendungsbenutzer erstellen und diese den benutzerdefinierten Sicherheitsrollen zuordnen.
Es gibt mehrere Möglichkeiten, mit denen Sie das erreichen können, einschließlich dem Schreiben Ihres eigenen Programm mit dem Webservice und den Abonnenten das Programm ausführen lassen.
Dynamics 365 Package Deployer ist eine Anwendung, die verwendet werden kann, um ein Paket zur Automatisierung der Übertragung von Lösungen und Daten in eine andere Dataverse-Organisation vorzubereiten. Weitere Informationen: Erstellen von Paketen für Package Deployer
Siehe auch
Single-Tenant Server-to-Server-Authentifizierung verwenden
Webanwendungen mit Server-zu-Server (S2S)-Authentifizierung erstellen
Authentifizierung mit Microsoft Dataverse-Webdiensten
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).