Häufig gestellte Fragen zu Datenschutz und Sicherheit in Bot Framework

Dieser Artikel bietet Antworten auf häufig gestellte Fragen zu Sicherheit und Datenschutz.

GILT FÜR: SDK v4

Sammeln Bots, die bei Bot Framework registriert sind, personenbezogene Informationen? Wenn dies der Fall ist: Wie kann ich sicherstellen, dass die Daten sicher und geschützt sind? Was ist mit Datenschutz?

Jeder Bot ist ein eigener Dienst, und die Entwickler dieser Dienste sind aufgefordert, Nutzungsbedingungen und Datenschutzrichtlinien in ihre Verhaltensregeln für Entwickler einzubinden. Weitere Informationen finden Sie in den Richtlinien für die Bot-Überprüfung.

Kann ich meinen Bot auf meinen eigenen Servern hosten?

Ja. Ihr Bot kann überall im Internet gehostet werden – auf Ihren eigenen Servern, in Azure oder in jedem beliebigen anderen Rechenzentrum. Die einzige Voraussetzung ist, dass der Bot einen öffentlich zugänglichen HTTPS-Endpunkt verfügbar machen muss.

Wie sperren Sie Bots oder entfernen sie aus dem Dienst?

Benutzer haben die Möglichkeit, einen fehlerhaften Bot über die Kontaktkarte des Bots im Verzeichnis zu melden. Entwickler müssen die Vertragsbedingungen von Microsoft einhalten, um den Dienst nutzen zu können.

Welche spezifischen URLs muss ich auf die Whitelist meiner Unternehmensfirewall setzen, um auf Bot Framework-Dienste zuzugreifen?

Wenn Sie eine ausgehende Firewall haben, die Datenverkehr vom Bot in das Internet blockiert, müssen Sie in der Firewall die folgenden URLs auf die Whitelist setzen:

  • login.botframework.com (Botauthentifizierung)
  • login.microsoftonline.com (Botauthentifizierung)
  • westus.api.cognitive.microsoft.com (NLP-Integration von Luis.ai)
  • *.botframework.com (Kanäle)
  • state.botframework.com (Abwärtskompatibilität)
  • login.windows.net (Windows-Anmeldung)
  • login.windows.com (Windows-Anmeldung)
  • sts.windows.net (Windows-Anmeldung)
  • Andere URLs für spezifische Bot Framework-Kanäle

Hinweis

Language Understanding (LUIS) wird am 1. Oktober 2025 eingestellt. Ab dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen erstellen. Eine neuere Version von Language Understanding ist jetzt als Teil von Azure KI Language verfügbar.

Conversational Language Understanding (CLU), ein Feature von Azure KI Language, ist die aktualisierte Version von LUIS. Weitere Informationen zu Language Understanding im Bot Framework-SDK finden Sie unter Natürliches Sprachverständnis.

Hinweis

Sie können <channel>.botframework.com verwenden, wenn Sie nicht möchten, dass eine URL mit einem Sternchen in eine Whitelist aufgenommen wird. <channel> entspricht jedem Kanal, den Ihr Bot verwendet, z. B. directline.botframework.com, webchat.botframework.com und slack.botframework.com. Es lohnt sich auch, den Datenverkehr über Ihre Firewall zu überwachen, während der Bot getestet wird, um zu sehen, welcher Datenverkehr blockiert wird.

Kann ich sämtlichen Datenverkehr an meinen Bot mit Ausnahme des Datenverkehrs von Bot Framework Service blockieren?

Bot Framework Service wird in Azure-Rechenzentren auf der ganzen Welt gehostet, und die Liste der Azure-IP-Adressen ändert sich laufend. Das heißt, dass bestimmte IP-Adressen manchmal auf die Whitelist aufgenommen werden kann und manchmal nicht, wenn sich die Azure-IP-Adressen ändern.

Welche RBAC-Rolle ist zum Erstellen und Bereitstellen eines Bots erforderlich?

Für die Bot-Erstellung über das Azure-Portal ist Zugriff vom Typ „Mitwirkender“ erforderlich – entweder im Abonnement oder in einer bestimmten Ressourcengruppe. Ein Benutzer, der über die Rolle Mitwirkender in einer Ressourcengruppe verfügt, kann einen neuen Bot in dieser spezifischen Ressourcengruppe erstellen. Ein Benutzer, der über die Rolle Mitwirkender für ein Abonnement verfügt, kann einen Bot in einer neuen Ressourcengruppe oder in einer bereits vorhandenen Ressourcengruppe erstellen.

Bei Verwendung der Azure-Befehlszeilenschnittstelle können über die rollenbasierte Zugriffssteuerung benutzerdefinierte Rollen unterstützt werden. Wenn Sie eine benutzerdefinierte Rolle mit stärker eingeschränkten Berechtigungen erstellen möchten, erlaubt die folgende Gruppe dem Benutzer das Erstellen und Bereitstellen eines Bots zu ermöglichen, der auch LUIS, QnA Maker und Application Insights unterstützt.

"Microsoft.Web/*",
"Microsoft.BotService/*",
"Microsoft.Storage/*",
"Microsoft.Resources/deployments/*",
"Microsoft.CognitiveServices/*",
"Microsoft.Search/searchServices/*",
"Microsoft.Insights/*",
"Microsoft.Insights/components/*"

Hinweis

Azure KI QnA Maker wird am 31. März 2025 eingestellt. Ab dem 01. Oktober 2022 können Sie keine neuen QnA Maker-Ressourcen oder Wissensdatenbanken mehr erstellen.

Language Understanding (LUIS) wird am 1. Oktober 2025 eingestellt. Ab dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen erstellen.

Neuere Versionen dieser Dienste sind jetzt als Teil von Azure KI Language verfügbar. Weitere Informationen zur Unterstützung von Fragen und Antworten und Sprachverständnis-Unterstützung im Bot Framework SDK finden Sie unter Natürliches Sprachverständnis.

Hinweis

Für LUIS und QnA Maker sind Azure KI Services-Berechtigungen erforderlich. Für QnA Maker sind außerdem Suchberechtigungen erforderlich. Denken Sie beim Erstellen einer benutzerdefinierten Rolle daran, dass geerbte Berechtigungen vom Typ deny (ablehnen) Vorrang vor diesen Berechtigungen vom Typ allow (zulassen) haben.

Wie wird mein Bot vor Clients geschützt, die die Identität von Bot Framework Service annehmen?

  1. Alle authentischen Bot Framework-Anfragen verfügen über ein JWT-Token, dessen kryptografische Signatur überprüft werden kann, indem Sie der Anleitung zur Authentifizierung folgen. Das Token ist so konzipiert, dass Angreifer nicht die Identität vertrauenswürdiger Dienste imitieren können.
  2. Das Sicherheitstoken, das mit jeder Anforderung an Ihren Bot gesendet wird, enthält die codierte „ServiceUrl“. Selbst wenn ein Angreifer Zugriff auf das Token erlangt, kann er daher die Konversation nicht an eine neue „ServiceUrl“ umleiten. Dieses Verhalten wird von allen Implementierungen des SDK erzwungen und ist in unseren Referenzmaterialien zur Authentifizierung dokumentiert.
  3. Wenn das eingehende Token fehlt oder falsch formatiert ist, generiert das Bot Framework SDK kein Token. Auf diese Weise wird der Schaden begrenzt, der im Fall einer falschen Bot-Konfiguration entstehen kann.
  4. Innerhalb des Bots können Sie die im Token bereitgestellte „ServiceUrl“ manuell überprüfen. Dadurch ist der Bot anfälliger, wenn Änderungen an der Diensttopologie vorgenommen werden. Diese Vorgehensweise ist also möglich, aber nicht empfehlenswert.

Hinweis

Hierbei handelt es sich um ausgehende Verbindungen vom Bot mit dem Internet handelt. Es gibt keine Liste von IP-Adressen oder DNS-Namen, die der Bot Framework Connector-Dienst zur Kommunikation mit dem Bot verwendet. Das Zulassen eingehender IP-Adressen wird nicht unterstützt.

Was ist der Zweck des Magic-Codes während der Authentifizierung?

Im Webchat-Steuerelement gibt es zwei Mechanismen, um sicherzustellen, dass der richtige Benutzer angemeldet ist.

  1. Magic- Code. Am Ende der Anmeldung wird dem Benutzer bisher ein zufällig generierter 6-stelliger Code (auch bekannt als Magic-Code) bereitgestellt. Der Benutzer muss diesen Code in der Konversation eingeben, um den Anmeldevorgang abzuschließen. Das führt tendenziell zu einer schlechten Benutzererfahrung. Zudem ist er nach wie vor anfällig für Phishing-Angriffe. Ein böswilliger Benutzer kann einen anderen Benutzer dazu bringen, sich anzumelden und den magischen Code durch Phishing erhalten.

    Warnung

    Die Verwendung des Magic-Code ist veraltet. Stattdessen sollten Sie die erweiterte Direct Line-Authentifizierung verwenden, die unten beschrieben wird.

  2. Erweiterte Direct Line-Authentifizierung Aufgrund der Probleme mit dem Magic-Code-Ansatz hat Azure KI Bot Service die Anforderung dafür entfernt. Azure KI Bot Service garantiert, dass der Anmeldevorgang nur in derselben Browsersitzung durchgeführt werden kann, in der sich auch die Web Chat-Instanz befindet. Um diesen Schutz zu aktivieren müssen Sie Webchat mit einem Direct Line-Token starten, das eine Liste mit vertrauenswürdigen Ursprüngen, auch als vertrauenswürdige Domänen bekannt, enthält, die den Webchat-Client des Bots hosten können. Mithilfe von erweiterten Authentifizierungsoptionen können Sie nun die Liste der vertrauenswürdigen Ursprünge auf der Direct Line-Konfigurationsseite statisch angeben. Weitere Informationen finden Sie unter erweiterte Direct Line-Authentifizierung.

Wie behandelt das Bot Framework Identitäts- und Zugriffsverwaltung?

Das Identitäts- und Zugriffsmanagement (IAM) ist ein Framework (Richtlinien und Technologien), um den richtigen Personen einen angemessenen Zugang zu Technologieressourcen zu ermöglichen. Weitere Informationen finden Sie unter Identitätsverwaltung.

Das Bot Framework bietet die folgenden Identifikationsmechanismen:

  • Botauthentifizierung. Bestimmt, ob eine Anforderung aus einer legitimen Quelle stammt. Es wird vom Bot-Konnektor-Dienst gesteuert und ermöglicht eine sichere Kommunikation zwischen einem Bot und einem Kanal. Weitere Informationen finden Sie unter Bot-Authentifizierung.

  • Benutzerauthentifizierung. Es ermöglicht dem Bot den Zugriff auf gesicherte Online-Ressourcen im Namen des Benutzers. Der Branchenstandard OAuth wird verwendet, um den Benutzer zu authentifizieren und den Bot für den Zugriff auf die Ressourcen zu autorisieren. Weitere Informationen finden Sie unter Benutzerauthentifizierung.

Zusammenfassend behandelt das Bot Framework die Dienst-zu-Dienst-Authentifizierung (Bot-Authentifizierung), wobei im Wesentlichen überprüft wird, dass eine Anforderung tatsächlich von einem richtigen Kanal stammt. Der Bot ist für die Behandlung niedrigerer Authentifizierungsebenen verantwortlich. Sie können einen Filter anwenden, sodass Ihr Bot nur Anforderungen aus einer bestimmten Mandanten-ID akzeptiert, oder Sie können ihre Benutzer zur Authentifizierung bei einem OAuth-Dienst (Benutzerauthentifizierung) verpflichten.

Wie schränke ich die Verwendung meines Bots auf Benutzer ein, die zu meinem Mandanten gehören?

Sie haben zwei verschiedene Optionen zum Einschränken eingehender Nachrichten, die Ihr Bot verarbeitet.

  • Wenn Sie mit sicheren Daten arbeiten, empfiehlt es sich definitiv, OAuth zur Authentifizierung der Benutzer zu verwenden.

  • Die Verwendung von Middleware ist eine weitere gute Option. Im Teams-Kanal können Sie beispielsweise Middleware erstellen, um die Mandanten-ID aus den Teams-Kanaldaten abzurufen. Die Middleware kann dann entscheiden, ob die eingehende Aktivität mit Ihrer Bot-Logik fortgesetzt werden oder stattdessen eine Fehlermeldung zurückgegeben werden soll.

    Warnung

    Sie können nicht verhindern, dass Microsoft Teams Nachrichten von verschiedenen Mandanten sendet oder dass jemand Ihren Bot installiert, wenn er über Ihr App-Manifest verfügt. Alles, was Sie tun können, ist, zu verhindern, dass Ihr Bot die unerwünschten Nachrichten verarbeitet.