Single-Tenant Server-to-Server-Authentifizierung verwenden

Das Single-Tenant Server-to-Server (S2S)-Szenario gilt typischerweise für Unternehmensorganisationen, die mehrere Microsoft Dataverse-Umgebungen haben und Active Directory Federation Services (AD FS) für die Authentifizierung verwenden. Allerdings kann es auch von Umgebungen angewendet werden, wenn die Anwendung nicht an andere Umgebungen verteilt wird.

Eine Firma kann eine Webanwendung oder einen Service erstellen, um alle Dataverse-Umgebungen zu verbinden, die mit einem einzelnen Microsoft Entra ID-Mandanten verknüpft sind.

Unterschiede von mehrinstanzenfähigen Szenarien

Das Erstellen einer Web-Anwendung oder eines Dienstes für die Server-zu-Server-Authentifizierung für einen einzelnen Mandanten ist ähnlich wie die Authentifizierung für eine Organisation mit mehreren Mandanten, aber es gibt einige wichtige Unterschiede.

  • Da sich alle Organisationen im selben Mandanten befinden, ist es nicht erforderlich, dass ein Mandant-Administrator die Zustimmung für jede Organisation erteilt. Die Anwendung ist einfach einmal auf dem Mandanten registriert.

  • Wenn Sie es bevorzugen, haben die Möglichkeit, anstelle von Schlüsseln Zertifikate zu verwenden.

Im Siehe auch-Abschnitt am Ende dieses Artikels finden Sie Links zu Informationen zum Aktualisieren einer Einzelinstanzanwendung zur Mehrinstanzenfähigkeit.

Anforderungen

Um eine Anwendung mit einem Mandanten zu erstellen und zu testen, die die Server-zu-Server-Authentifizierung verwendet, benötigen Sie:

  • Ein Microsoft Entra ID-Mandant, der verwendet wird, wenn die bereitgestellte Beispielanwendung registriert wird.
  • Ein Dataverse-Abonnement, das mit dem Microsoft Entra ID-Mandanten verknüpft ist.
  • Administratorrechte im Microsoft Entra ID-Mandanten und der Dataverse-Umgebung.

Azure-Anwendungsregistrierung

Gehen Sie zum Erstellen einer Anwendungsregistrierung in Microsoft Entra ID folgendermaßen vor.

  1. Navigieren Sie zu https://admin.microsoft.com, und melden Sie sich an.

  2. Wählen Sie Admin Center > Microsoft Entra ID aus.

  3. Wählen Sie im linken Navigationsbereich Anwendungen > App-Registrierungen aus.

  4. Wählen Sie + Neue Registrierung.

  5. Geben Sie im Formular Eine Anwendung registrieren einen Namen für Ihre App ein, wählen Sie Nur Firmen in diesem organisatorischen Verzeichnis aus, und wählen Sie dann Registrieren aus. Ein Umleitungs-URI wird für diese exemplarische Vorgehensweise und den zur Verfügung gestellten Beispielcode nicht benötigt.

    Registrieren eines Anmeldeformulars.

  6. Wählen Sie im Navigationsbereich die Option API-Berechtigungen aus.

  7. Wählen Sie auf der Seite API-Berechtigungen die Option Admin-Einwilligung für „org-name“ aus, falls sie noch nicht ausgewählt ist, und wählen Sie bei der Aufforderung Ja aus. Beachten Sie, dass für dieses Server-zu-Server-Szenario keine delegierten Berechtigungen erforderlich sind.

    Erteilen von API-Berechtigungen.

  8. Wählen Sie im Navigationsbereich die Option Übersicht aus, erfassen Sie die Werte für Anzeigename, Anwendungs(client)-ID und Verzeichnis-ID (Mandant) der App-Registrierung.

  9. Wählen Sie im Navigationsbereich die Option Zertifikate und geheime Schlüssel aus.

  10. Wählen Sie unter Geheime Clientschlüssel die Option + Neuer geheimer Clientschlüssel aus, um einen geheimen Schlüssel zu erstellen.

  11. Geben Sie im Formular eine Beschreibung ein und wählen Sie Hinzufügen aus. Zeichnen Sie die geheime Zeichenfolge auf. Es ist nicht möglich, den geheimen Schlüssel erneut anzuzeigen, nachdem Sie den aktuellen Bildschirm verlassen haben.

Die Anwendungs-ID, die Verzeichnis-ID und der geheimer Clientschlüssel werden für die Webdienst-Authentifizierung benötigt.

Anlegen von Anwendungsbenutzern

Sie können einen nicht lizenzierten „Anwendungsbenutzer“ in Ihrer Umgebung erstellen. Dieser Anwendungsbenutzer erhält Zugriff auf Umgebungsdaten im Namen des Endbenutzers, der Ihre Anwendung verwendet.

Weitere Anweisungen zum Erstellen eines Anwendungsbenutzers finden Sie unter Einen Anwendungsbenutzer erstellen.

Anweisungen zum Verwalten von Sicherheitsrollen für einen Anwendungsbenutzer finden Sie unter Verwalten von Rollen für einen Anwendungsbenutzer

Hinweis

In einer Umgebung wird nur ein Anwendungsbenutzer für jede Microsoft Entra ID registrierte Anwendung unterstützt. Sie können die primäre E-Mail-Adresse oder den Benutzernamen nach dem Erstellen des Anwendungsbenutzers nicht mehr ändern.

Wenn Sie eine praxisorientierte Anwendung mithilfe S2S entwickeln, sollten Sie eine benutzerdefinierte Sicherheitsrolle verwenden, die in einer Lösung gespeichert und zusammen mit Ihrer Anwendung verteilt werden kann.

Anwendungsbenutzer aktivieren oder deaktivieren

Wenn Anwendungsbenutzer erstellt werden, werden sie automatisch aktiviert. Falls der Status eines Anwendungsbenutzers deaktiviert ist und Sie ihn aktivieren müssen, tun Sie dies über das Power Platform Admin Center. Sie können auch das Power Platform Admin Center verwenden, um einen nicht mehr verwendeten Anwendungsbenutzer zu deaktivieren.

Weitere Informationen: Anwendungsbenutzer aktivieren oder deaktivieren

Achtung

Durch das Deaktivieren eines Anwendungsbenutzers werden alle Integrationsszenarien unterbrochen, in denen der Anwendungsbenutzer verwendet wird.

Anwendungscodierung und -ausführung

Folgen Sie diesen Schritten, um die Beispielanwendung herunterzuladen, zu erstellen und auszuführen. In diesem Beispiel wird die WebAPI aufgerufen, um eine Liste der ersten 3 Firmen (nach Name) in der Organisation zurückzugeben.

  1. Laden Sie das Visual Studio 2017 SingleTenantS2S Beispiel herunter.
  2. Aktualisieren Sie die App.config-Datei mit der App-Registrierung und den Serverschlüsselwerten.
  3. Erstellen Sie die Anwendung und führen Sie sie aus.

Erwartete Ergebnisse

Eine OData-Antwort, die die Namen der 3 wichtigsten Konten in Ihrer Organisation auflistet.

Beispielskonsolenausgabe

Unten sehen Sie eine Beispiel-Konsolenausgabe, die von einer Organisation erhalten wurde, die nur zwei Konten mit den Namen „Testkonto 1“ und „Testkonto 2“ hatte.

{
  "@odata.context": "https://crmue2.api.crm.dynamics.com/api/data/v9.1/$metadata#accounts(name)",
  "@Microsoft.Dynamics.CRM.totalrecordcount": -1,
  "@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded": false,

  "value": [
    {
      "@odata.etag": "W/\"4648334\"",
      "name": "Test Account 1",
      "accountid": "28630624-cac9-e811-a964-000d3a3ac063"
    },
    {
      "@odata.etag": "W/\"4648337\"",
      "name": "Test Account 2",
      "accountid": "543fd72a-cac9-e811-a964-000d3a3ac063"
    }
  ]
}

Siehe auch

Verwenden Sie mehrinstanzenfähige Server-zu-Server-Authentifizierung
Webanwendungen mit Server-zu-Server (S2S)-Authentifizierung erstellen
Anleitung: Einen Microsoft Entra ID-Benutzer mit dem mehrinstanzenfähigen Anwendungsmuster anmelden

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).