Freigeben über


Verwenden Sie eine mandantenübergreifende Server-zu-Server-Authentifizierung

Mehrinstanzenfähigkeit ist das allgemeinste App-Szenario und dasjenige, das für Apps verwendet wird, die mit Microsoft Marketplace verteilt werden, aber Sie können Mehrinstanzenfähigkeit auch verwenden, ohne Ihre Anwendung mit Microsoft Marketplace aufzulisten.

Jede Microsoft Dataverse Organisation ist einem Microsoft Entra ID Mandanten zugeordnet. Ihre Webanwendung oder Ihr Dienst ist bei einem eigenen Mandanten der Microsoft Entra ID registriert.

In diesem Szenario kann jeder Dataverse-Mandant potenziell Ihre mehrinstanzenfähige Anwendung nutzen, nachdem ein Admin 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:

  • Ein Microsoft Entra ID Mandant, den Sie zum Veröffentlichen Ihrer Anwendung oder Ihres Diensts verwenden.

  • Zwei (2) Dataverse-Abonnements

    • Man muss einem Microsoft Entra ID-Mandanten zugeordnet sein, den Sie zum Veröffentlichen Ihrer Anwendung oder Ihres Dienstes verwenden.
    • 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 bei dem Microsoft Entra ID Mandanten registriert sein, den Sie beim Veröffentlichen der Anwendung verwenden.

Auf einer allgemeinen Ebene besteht der Prozess aus:

  1. Erstellen Sie eine mehrinstanzenfähige Webanwendung, die bei Ihrem Microsoft Entra ID Mandanten registriert ist.
  2. Erstellen eines Anwendungsbenutzers, der einer registrierten Anwendung in Ihrem Dataverse-Mandanten zugeordnet ist
  3. Erstellen einer benutzerdefinierten Sicherheitsrolle und zuweisen zu einem Anwendungsbenutzer im Dataverse-Mandanten
  4. Testen der Anwendung mithilfe des Dataverse-Mandanten
  5. Testen der Anwendung mithilfe eines separaten Dataverse-Mandanten

Erstellen einer mehrinstanzenfähigen Webanwendung, die bei Ihrem Microsoft Entra ID Mandanten registriert ist

Sie erstellen eine mehrinstanzenfähige Webanwendung oder einen Dienst, die 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:

Microsoft Entra ID erfordert die Registrierung Ihrer Anwendung die folgenden Werte:

Wert BESCHREIBUNG
Anwendungs-ID-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 Aufrufer ein Token wünscht. 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 Bei einer Web-API oder Webanwendung ist die Antwort-URL die Adresse, an die Microsoft Entra ID die Authentifizierungsantwort, einschließlich eines Tokens, senden wird, wenn die Authentifizierung erfolgreich war.
Client-ID Die ID für eine Anwendung, die von Microsoft Entra ID generiert wird, wenn die Anwendung registriert ist. Beim Anfordern eines Autorisierungscodes oder Tokens werden die Client-ID und der Schlüssel während der Authentifizierung an Microsoft Entra ID gesendet.
Schlüssel Der Schlüssel, der zusammen mit einer Client-ID gesendet wird, wenn eine Authentifizierung für Microsoft Entra ID zum Aufrufen einer Web-API erfolgt.

Wenn die Anwendung registriert ist, wird sie einer Microsoft Entra ID Objekt-ID zugewiesen, einem eindeutigen Bezeichner für die registrierte Anwendung.

Wenn Sie eine neue ASP.NET MVC Anwendung mit Visual Studio erstellen, haben Sie Optionen, um anzugeben, dass die Anwendung die Mehrinstanzenfunktionalität 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:

ASP.NET MVC Dialogfeld

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 können 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 Ihrem Microsoft Entra ID Mandanten zugeordnet sein muss. Wenn Ihr Microsoft Entra ID Mandant nicht einem Dataverse-Mandanten zugeordnet ist, können Sie die folgenden Schritte nicht ausführen.

  1. Wechseln Sie zu https://portal.azure.com, und wählen Sie Microsoft Entra ID aus.
  2. Klicken Sie auf App registrations und suchen Sie nach der Anwendung, die Sie mit Visual Studio erstellt haben.
  3. 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 sie bereits über Berechtigungen für Windows Azure Active Directory verfügt.
  4. 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 dann auf die Schaltfläche Select.
  5. Wählen Sie in Select permissionsAccess Dynamics 365 as organization users aus. Klicken Sie dann auf die Schaltfläche Auswählen.
  6. Klicken Sie auf Fertig, um diese Berechtigungen hinzufügen. Wenn Sie fertig sind, sollten Sie die übernommenen Berechtigungen finden.

Gewähren Sie Dynamics 365-Berechtigungen für die Anwendung.

Erstellen eines Anwendungsbenutzers mit der registrierten Anwendung in Dataverse

Wenn Ihre Anwendung auf die Dataverse-Daten eines der Abonnenten Ihrer Anwendung zugreift, ist ein Anwendungsbenutzer in der Dataverse-Organisation des Abonnenten erforderlich. 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 Anwendungs-ID-URI 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 Azure AD-Objekt-ID UniqueidentifierType Dies ist die Objekt-ID des Anwendungsverzeichnisses.

Dieser systemuser``AzureActiveDirectoryObjectId-Eigenschaftswert muss ein Verweis auf die Microsoft Entra ID-Objekt-ID Ihrer registrierten Anwendung sein. Dieser Verweis wird in Dataverse festgelegt, wenn der Anwendungsbenutzer basierend auf dem ApplicationId-Wert erstellt wird.

Notiz

Wenn Sie Ihre Anwendung zunächst mit Ihrem eigenen Dataverse-Mandanten und dem damit verbundenen Microsoft Entra ID Mandanten entwickeln, können Sie einfach den Anwendungsbenutzer erstellen, da die registrierte Anwendung bereits Teil Ihres 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. Weitere Informationen finden Sie unter Testen Sie Ihre Anwendung mit einem separaten Dynamics 365-Mandanten.

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

Notiz

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 im Power Platform Admin Center verwalten

Testen der Anwendung mithilfe des Dataverse-Mandanten

Da die Anwendung bei Ihrem Microsoft Entra ID Mandanten registriert wurde und der Anwendungsbenutzer in Ihrer Entwicklungsorganisation bereits konfiguriert ist, können Sie Ihre Anwendung weiterhin für Ihren eigenen Dataverse-Mandanten entwickeln. 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, muss ein Administrator für den Microsoft Entra ID Mandanten die Zustimmung für die Anwendung erteilen. 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:

Erteilen Sie die Zustimmung für den Zugriff auf Dynamics 365-Daten.

Wenn sie ihre Zustimmung erteilen, wird Ihre registrierte Anwendung der Liste der Microsoft Entra ID Enterprise-Anwendungen hinzugefügt und steht den Benutzern des Microsoft Entra ID Mandanten zur Verfügung.

Erst nachdem ein Administrator die Zustimmung erteilt hat, müssen Sie den Anwendungsbenutzer im Dataverse-Mandanten des Abonnenten erstellen. Sie können den Anwendungsbenutzer mithilfe der in Manually create a Dynamics 365 application user beschriebenen Schritte manuell erstellen.

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

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.

Der Dynamics 365 Package Deployer ist eine Anwendung, die zum Vorbereiten eines Pakets verwendet werden kann, um das Übertragen von Lösungen und Daten in eine andere Dataverse-Organisation zu automatisieren. Weitere Informationen: Erstellen von Paketen für den Package Deployer

Siehe auch

Single-Tenant Server-to-Server-Authentifizierung verwenden
Erstellen von Webanwendungen mit Server-to-Server-Authentifizierung (S2S)
Bei Microsoft Dataverse-Webdiensten authentifizieren