Freigeben über


Grundlagen der Bot-Framework-Authentifizierung

GILT FÜR: SDK v4

Häufig muss ein Bot im Namen des Benutzers auf geschützte Ressourcen zugreifen, z. B. auf ein E-Mail-Konto. Um dies zu tun, muss der Bot basierend auf den Anmeldeinformationen des Benutzers autorisiert werden. Davor muss der Benutzer zuerst authentifiziert werden. Der Bot muss eine bekannte Entität sein, d. h. er muss im Kontext von Azure KI Bot Service authentifiziert werden. Dies geschieht, bevor der Bot autorisiert wird, im Auftrag des Benutzers zu arbeiten.

Versuchen wir, dieses Bündel zu entwirren, indem wir mit der Vogelperspektive des Authentifizierungskontexts des Bot Frameworks beginnen.

Bot authentication context

  • Wenn Sie einen Bot in Azure über eine Azure-Bot-Ressource registrieren, erstellt Azure eine Registrierungsanwendung mit Microsoft Entra ID. Diese Anwendung verfügt über eine App-ID (MicrosoftAppId) und einen geheimen Clientschlüssel (MicrosoftAppPassword). Sie verwenden diese Werte in den Bot-Konfigurationsdateien, wie unten beschrieben.

  • Microsoft Entra ID ist ein Cloudidentitätsdienst, der es Ihnen ermöglicht, Anwendungen zu erstellen, mit denen sich Benutzer sicher über Industriestandardprotokolle wie OAuth 2.0 anmelden können. Sie erstellen eine Active-Directory-Anwendung und verwenden dessen App-ID und das zugehörige Kennwort, um einen Identitätsanbieter auszuwählen und eine Authentifizierungsverbindung zu generieren. Sie fügen diese Verbindung zu Ihrer Bot-Ressource hinzu. Außerdem fügen Sie den Verbindungsnamen in den Bot-Konfigurationsdateien wie unten beschrieben hinzu.

  • Ein Bot wird durch seine Azure-Bot-Ressourcen-App-ID und sein Kennwort identifiziert. Sie fügen die entsprechenden Werte in die Konfigurationsdatei des Bots oder in einen Geheimnis- oder Schlüsselmanager ein. Sie fügen auch den Verbindungsnamen hinzu. Der Bot verwendet ein Token basierend auf der App-ID und dem Passwort für den Zugriff auf geschützte Ressourcen. Der Bot verwendet verschiedene Token basierend auf der Authentifizierungsverbindung, um auf die geschützten Ressourcen des Benutzers zuzugreifen.

Bot-Authentifizierung und Autorisierung

Nachfolgend sind die wichtigsten Schritte zur Authentifizierung eines Bots und seiner Autorisierung für den Zugriff auf die geschützten Ressourcen des Benutzers aufgeführt:

  1. Erstellen einer Anwendung zur Registrierung von Bot-Kanälen.
  2. Fügen Sie der Bot-Konfigurationsdatei die ID und das Passwort der Registrierungsanwendung hinzu. Dadurch kann der Bot authentifiziert werden, um auf geschützte Ressourcen zuzugreifen.
  3. Erstellen Sie eine Microsoft-Entra-ID-Anwendung, um einen Identitätsanbieter auszuwählen, um den Benutzer zu authentifizieren.
  4. Erstellen Sie eine Authentifizierungsverbindung und fügen Sie sie den Kanalregistrierungseinstellungen hinzu.
  5. Fügen Sie den Verbindungsnamen zu den Konfigurationsdateien des Bots hinzu. Dadurch kann der Bot autorisiert werden, auf die geschützten Ressourcen des Benutzers zuzugreifen.

Ein vollständiges Beispiel finden Sie unter Hinzufügen der Authentifizierung zu einem Bot.

Bewährte Methoden

  • Behalten Sie die Registrierung der Microsoft-Entra-ID-App auf ihren ursprünglichen Dienstzweck für die Dienstanwendung beschränkt.
  • Erstellen Sie eine zusätzliche Microsoft-Entra-ID-App für jeden Benutzer zur Dienstauthentifizierung, um eine bessere Kontrolle über das Deaktivieren von Authentifizierungsverbindungen, Rolling Secrets oder die Wiederverwendung der Microsoft-Entra-ID-App mit anderen Anwendungen zu erhalten.

Einige der Probleme, die auftreten, wenn Sie auch die Microsoft-Entra-ID-Registrierungs-App für die Authentifizierung verwenden, sind:

  • Wenn das an die Microsoft-Entra-ID-App-Registrierung angefügte Zertifikat erneuert werden muss, wirkt sich das auf Benutzer aus, die sich mit anderen Microsoft-Entra-ID-Diensten mithilfe des Zertifikats authentifiziert haben.
  • Im Allgemeinen wird ein Single Point of Failure und eine Steuerung für alle Authentifizierungsaktivitäten mit dem Bot erstellt.

Die folgenden Artikel enthalten ausführliche Informationen und Beispiele zur Authentifizierung im Bot Framework. Betrachten Sie zunächst die Authentifizierungstypen und dann Identitätsanbieter.

Artikel Beschreibung
Authentifizierungstypen Beschreibt die beiden Authentifizierungstypen des Bot Frameworks und die von ihnen verwendeten Token.
Identitätsanbieter Beschreibt die Verwendung von Identitätsanbietern. Sie ermöglichen es Ihnen, Anwendungen zu erstellen, mit denen sich Benutzer sicher über Industriestandardprotokolle wie OAuth2.0 anmelden können.
Benutzerauthentifizierung Beschreibt die Authentifizierung des Benutzers und das zugehörige Token, um einen Bot zum Ausführen von Aufgaben im Namen des Benutzers zu autorisieren.
Einmaliges Anmelden Beschreibt die Einzelbenutzerauthentifizierung für den Zugriff auf mehrere geschützte Ressourcen.
Registrieren eines Bots bei Azure Zeigt, wie Sie einen Bot bei Azure KI Bot Service registrieren.
Bot Framework-Sicherheitsrichtlinien Beschreibt die Sicherheit im Allgemeinen und wie sie für das Bot Framework gilt.
Hinzufügen von Authentifizierung zu einem Bot Zeigt, wie Sie die Registrierung eines Botkanals erstellen, eine Authentifizierungsverbindung erstellen und den Code vorbereiten.
Hinzufügen des einmaligen Anmeldens zu einem Bot Zeigt, wie Sie einer Bot-Authentifizierung Single Sign-On hinzufügen.