Verwenden Sie mehrinstanzenfähige Server-zu-Server-Authentifizierung
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online)
Dies ist das gebräuchlichste Szenario und jenes, das verwendet wird für Apps, die mithilfe von Microsoft AppSourceverteilt werden, aber Sie können Mehrinstanzen auch verwenden, ohne die Anwendung in Microsoft AppSource aufzuführen.
Jede Dynamics 365 (online)-Organisation ist einem Azure Active Directory (Azure AD) Mandant zugeordnet. Ihre Webanwendung oder der Dienst ist mit dem eigenen Azure AD Mandant registriert.
In diesem Szenario kann jeder Dynamics 365 (online) Mandant Ihre mögliche mehrinstanzenfähige Anwendung sein, nachdem die Übereinstimmung vorhanden ist, auf die Daten zuzugreifen.
In diesem Thema
Anforderungen
Übersicht: Entwickeln und testen Sie Ihre Anwendung
Erstellen Sie einen Anwendungsnutzer mit der registrierten Anwendung in Dynamics 365
Testen Sie die Anwendung mithilfe des Mandanten Dynamics 365
Testen Sie die Anwendung mithilfe eines separaten Dynamics 365 Mandanten
Bereiten Sie eine Möglichkeit vor, um den Anwendungsbenutzer bereitzustellen
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 Azure AD Mandanten, um Ihre Anwendung oder Ihren Service zu veröffentlichen.
2 Dynamics 365 (online) Abonnements
Einer muss dem Azure AD Mandanten zugewiesen sein, denn 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 Azure AD Mandanten angemeldet sein, den Sie verwenden, wenn Sie die Anwendung veröffentlichen.
Auf einer allgemeinen Ebene besteht der Prozess aus:
Erstellen einer mehrinstanzenfähigen Webanwendung mit Ihrem Azure AD Mandanten.
Erstellen Sie einen Anwendungsnutzer, der einer registrierten Anwendung in Ihrem Dynamics 365 (online) Mandant zugeordnet ist
Erstellen Sie eine benutzerdefinierte Sicherheitsrolle und weisen Sie sie den Anwendungsbenutzern im Dynamics 365 (online) Mandant zu.
Testen Sie die Anwendung mithilfe des Mandanten Dynamics 365 (online)
Testen Sie die Anwendung mithilfe eines separaten Dynamics 365 (online) Mandanten
Ein vollständiges Beispiel dieses Prozesses, finden Sie unter Exemplarische Vorgehensweise: Mehrinstanzenfähige Server-zu-Server-Authentifizierung.
Erstellen einer mehrinstanzenfähigen Webanwendung mit Ihrem Azure AD Mandanten
Sie erstellen eine mehrinstanzenfähige Web-Anwendung oder einen Service, der Azure AD 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 Azure AD & OpenID Connect
Erstellen einer mehrinstanzenfähigen SaaS Webanwendung die eine Web API mithilfe von Azure AD abruft
Azure AD 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 den Azure AD 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 |
Bei einer Anfrage der Web API oder einer Webanwendung, ist die antwortende URL der Standort, an den Azure AD die Authentifizierungsantwort sendet, einschließlich eines Tokens, wenn die Authentifizierung erfolgreich war. |
Client-ID |
Die ID für eine Anwendung, die über Azure AD generiert wird, wenn die Anwendung registriert ist. Wenn Sie einen Autorisierungscode oder einen Token anfordern, werden die Client-ID und der Schlüssel in der Azure AD bei der Authentifizierung gesendet. |
Taste |
Der Schlüssel, der zusammen mit einer Client-ID beim Authentifizieren der Azure AD gesendet wird, um eine Web API anzurufen |
Wenn die Anwendung registriert ist, ist ein Azure Active Directory-Objekt-ID Azure ein eindeutiger Bezeichner für die registrierte Anwendung.
Wenn Sie eine neue ASP.NETMVC Anwendung mit Visual Studio 2015 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 arbeiten sie mit Dynamics 365 (online). Dies ist die Vorgehensweise, die in Exemplarische Vorgehensweise: Mehrinstanzenfähige Server-zu-Server-Authentifizierung veranschaulicht wird.
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 1oder 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 Azure Key Vaultverwenden.Weitere Informationen:https://azure.microsoft.com/en-us/services/key-vault/
Gewähren Sie Ihrer Anwendung die Rechte, auf Dynamics 365 (online) Daten zuzugreifen
Das ist der Grund, wieso Ihre Dynamics 365 (online)-Instanz dem Azure AD Mandant zugeordnet werden muss. Wenn der Azure AD Mandant keinem Dynamics 365 (online) Mandant zugeordnet ist, können Sie folgende Schritte nicht ausführen.
Wechseln Sie zu https://portal.azure.com und wählen Sie Azure Active Directory 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 Dynamics 365 (online)-Daten zuzugreifen. Im Bereich API Zugriff klicken Sie auf Erforderliche Berechtigungen. Sie sollten sehen, dass Sie bereits die Berechtigungen für Windows Azure Active Directory haben.
Klicken Sie auf Hinzufügen, und wählen Sie Eine API auswählen aus. Wählen Sie in der Liste Dynamics 365aus, klicken Sie auf die SchaltflächeAuswä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 Anwendungsnutzer mit der registrierten Anwendung in Dynamics 365
Falls Ihre Anwendung auf die Dynamics 365 Daten von einem Abonnent Ihrer Anwendung zugreift, erfordert dies einen Anwendungsbenutzer im Abonnent Dynamics 365 der Organisation. Wie jeder Dynamics 365 Benutzer muss diesem Anwendungsbenutzer mindestens eine Sicherheitsrolle zugeordnet werden, die Daten, die definiert, auf die der Benutzer auf zugreifen kann.
Die systemuser Entität besitzt drei neue Attribute, um diese Daten zu speichern.
Schemaname |
Anzeigename |
Typ |
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 der 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 |
Objekt-ID von Azure AD |
UniqueidentifierType |
Dies ist die Objekt-ID des Anwendungsverzeichnisses. |
Dieser systemuserAzureActiveDirectoryObjectId Eigenschaftswert muss ein Verweis in der Azure Active Directory-Objekt-ID der registrierten Anwendung werden. Dieser Verweis wird im Dynamics 365 festgelegt, wenn der Anwendungsbenutzer basierend auf dem ApplicationId erstellt wird.
Hinweis
Falls Sie Ihre Anwendung erstmalig mit Ihrem eigenen Dynamics 365 Mandanten entwickeln und den Azure AD Mandant zugeordnet ist, können Sie den Anwendungsbenutzer einfach erstellen, da die registrierte Anwendung Teil des Azur AD 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 die Anwendung mithilfe eines separaten Dynamics 365 Mandanten.
Erstellen einer Sicherheitsrolle für den Anwendungsbenutzer
Im nächsten Schritt können Sie einen Dynamics 365 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 TechNet: Erstellen oder Bearbeiten einer Sicherheitsrolle.
Hinweis
Der Anwendungsbenutzer darf nicht einer der standardmäßigen Dynamics 365-Sicherheitsrollen zugeordnet werden. Sie müssen eine benutzerdefinierte Sicherheitsrolle zur Zuordnung mit dem Anwendungsbenutzer erstellen.
Erstellen Sie einen Dynamics 365 Anwendungsbenutzer
Die Vorgehensweise, um diesen Benutzer zu erstellen, unterscheidet sich vom Erstellen eines lizenzierten Benutzers. Verwenden Sie die folgenden Schritte:
Gehen Sie zu Einstellungen > Sicherheit > Benutzer.
Klicken Sie in der Dropdownliste der Ansichten auf Anwendungsbenutzer.
Klicken Sie auf Neu. Überprüfen Sie dann, ob Sie das Formular Anwendungsbenutzer verwenden.
Wenn Sie die Felder Anwendungs-ID, die Anwendung ID-URI und dasAzure AD Objekt im Formular nicht sehen, müssen Sie aus der Liste Anwendungsbenutzer auswählen:
Hinzufügen der entsprechenden Werte zu den Feldern:
Feld
Wert
Anwendungs-ID
Der Anwendungs-ID-Wert für die Anwendung, die bei Azure AD registriert ist.
Vollständiger Name
Der Name Ihrer Anwendung.
Primäre E-Mail-Adresse
Die E-Mail-Adresse, die Ihr Abonnent verwenden soll, um Sie zu kontaktieren.
Die Felder Benutzername, Anwendung ID-URI und Azure AD Objekt-ID sind gesperrt und können keine Werte für diese Felder festlegen.
Wenn Sie diesen Benutzer erstellen, werden die Werte für diese Felder aus Azure AD basierend auf dem Wert der Anwendungs-ID abgerufen, wenn Sie den Benutzer speichern.
Ordnen Sie die Anwendungsbenutzer den benutzerdefinierten Sicherheitsrollen zu, die Sie in Erstellen einer Sicherheitsrolle für den Anwendungsbenutzer erstellt haben. Weitere Informationen: TechNet: Einem Benutzer Sicherheitsrollen zuweisen
Testen Sie die Anwendung mithilfe des Mandanten Dynamics 365
Da die Anwendung bei Ihrem Azure AD Mandant angemeldet wurde und der Anwendungsbenutzer in Ihrer Entwicklungsorganisation bereits konfiguriert ist, können Sie Ihre Anwendung mit Ihrem eigenen Dynamics 365 Mandant weiterentwickeln. Aber dies ist kein gültiger Test für eine mehrinstanzenfähige Mandaten-Funktion. Sie müssen Ihre Anwendung mithilfe eines separaten Dynamics 365 Mandanten testen.
Testen Sie die Anwendung mithilfe eines separaten Dynamics 365 Mandanten
Bevor Sie die Verwendung mit einem separaten Dynamics 365 Mandanten testen, sollte ein Administrator für den Azure AD Mandant 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 Azure AD Enterprise-Anwendungsliste hinzugefügt und sie wird für Benutzer des Azure AD Mandanten bereitgestellt.
Erst nachdem ein Administrator die Zustimmung gewährt hat, können Sie die Anwendungsbenutzer im Abonnent Dynamics 365-Mandanten erstellen. Sie können den Anwendungsbenutzer manuell mithilfe der Schritte, die in Erstellen Sie einen Dynamics 365 Anwendungsbenutzer beschriebenen sind.
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 dem Dynamics 365 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
Informationen zum Erstellen einer Dynamics 365-Lösung, finden Sie in den folgenden Themen:
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 zu können, einschließlich dem Schreiben Ihres eigenen Programm mit Microsoft Dynamics 365 SDK und den Abonnenten das Programm ausführen lassen.
Microsoft Dynamics 365 SDK bietet eine CRM-Paketbereitstellungsprogramm Anwendung, die verwendet werden kann, um ein Paket vorzubereiten, um die Übertragung von Lösungen und Daten in eine andere Dynamics 365 Organisation zu automatisieren.Weitere Informationen:Erstellen von Paketen für Dynamics 365 Package Deployer
Siehe auch
Exemplarische Vorgehensweise: Mehrinstanzenfähige Server-zu-Server-Authentifizierung
Verwenden Sie Einzel-Mandanten-Server-zu-Server-Authentifizierung
Erstellen von Webanwendungen mit Server-to-Server-Authentifizierung (S2S)
Verbinden mit Microsoft Dynamics 365
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright