Freigeben über


Web- und Kanalsicherheit von Direct Line konfigurieren

Wenn Sie ein Copilot Studio Agent erstellen, ist es sofort in den Kanälen Demo-Website und Benutzerdefinierte Website für jeden verfügbar, der die Agent-ID kennt. Diese Kanäle sind standardmäßig verfügbar und es ist keine Konfiguration erforderlich.

Für die Microsoft Teams-App können Sie erweiterte Sicherheitsoptionen für Webkanäle konfigurieren.

Anmerkung

Wenn Sie nur eine Teams Lizenz haben, können Sie keine Geheimnisse generieren, um einen sicheren Zugriff zu ermöglichen. Sichere Zugriffstoken werden automatisch für Sie erstellt und der sichere Zugriff ist standardmäßig aktiviert.

Benutzer können die Agent-ID direkt darin finden Copilot Studio oder indem sie sie von jemandem erhalten. Aber je nach Leistungsfähigkeit von Agent und Sensitivität ist das möglicherweise nicht wünschenswert.

Mit Direct Line-basierter Sicherheit können Sie den Zugriff nur auf Standorte aktivieren, die Sie steuern, indem Sie den gesicherten Zugriff mit Direct Line-Geheimnissen oder Tokens aktivieren.

Sie können auch Geheimnisse austauschen und neu generieren sowie Tokens aktualisieren und den gesicherten Zugriff einfach deaktivieren, wenn Sie ihn nicht mehr verwenden möchten.

Anmerkung

Copilot Studio verwendet den Bot Framework Direct Line Kanal , um Ihre Webseite oder App mit Verbinden auf Agent hochzuladen.

Sicherheit des Webkanals aktivieren oder deaktivieren

Sie können die Verwendung von Geheimschlüsseln und Token für jeden einzelnen Agent erzwingen.

Sobald diese Option aktiviert ist, muss der Client für Kanäle seine Anforderungen entweder mit einem Geheimnis oder durch Verwenden eines Tokens, das mithilfe des Geheimnisses generiert wird authentifizieren, das zur Laufzeit abgerufen wird.

Jeder Zugriff auf Agent, der diese Sicherheitsmaßnahme nicht bietet, funktioniert nicht.

  1. Unter Ihrem Agent, unter Einstellungen, Auswählen Sicherheit. Wählen Sie dann die Kachel Webkanalsicherheit aus.

    Screenshot, auf dem die Webkanalsicherheit auf dem Flyout „Einstellungen“ hervorgehoben ist.

  2. Schalten Sie Gesicherten Zugang erforderlich machen auf Aktiviert.

    Screenshot mit der Seite „Webkanalsicherheit“.

Warnung

Sobald „Gesicherten Zugriff erforderlich machen“ aktiviert oder deaktiviert ist, kann es bis zu zwei Stunden dauern, bis das System die Einstellungen weitergibt und sie wirksam werden. Bis dahin bleibt die vorherige Einstellung wirksam. Sie müssen Agent nicht veröffentlichen, damit diese Änderung wirksam wird.

Sie sollten im Voraus planen, um zu vermeiden, dass Ihr Agent unbeabsichtigt preisgegeben wird.

Wenn Sie die Sicherheitsoption für den Webkanal deaktivieren müssen, können Sie dies durch Umschalten von Gesicherten Zugriff erforderlich machen auf Deaktiviert tun. Das Deaktivieren des gesicherten Zugriffs kann bis zu zwei Stunden dauern.

Screenshot mit einer Bestätigungsnachricht bei der Deaktivierung des gesicherten Zugriffs, die besagt, dass diese Aktion die Demo-Website und alle Direct Line-Kanäle, die kein Geheimnis oder Token verwenden, verfügbar macht. Es kann bis zu zwei Stunden dauern, bis diese Aktion in Kraft tritt.

Verwenden von Geheimnissen oder Tokens

Wenn Sie eine Service-to-Service-App erstellen, ist es möglicherweise am einfachsten, das Geheimnis in den Anforderungen des Autorisierungsheaders anzugeben.

Wenn Sie eine App schreiben, in der der Client in einem Webbrowser oder einer mobilen App ausgeführt wird, oder wenn der Code für Kunden sichtbar sein könnte, müssen Sie Ihr Geheimnis gegen ein Token eintauschen. Wenn Sie keinen Token verwenden, kann Ihr Geheimnis beeinträchtigt sein. Geben Sie das Geheimnis im Autorisierungsheader an, wenn Sie die Anforderung zum Erwerb des Tokens in Ihrem Dienst stellen.

Tokens funktionieren nur für eine einzelne Unterhaltung und verfallen, sofern sie nicht aktualisiert werden.

Wählen Sie das Sicherheitsmodell, das für Ihre Situation am besten geeignet ist.

Warnung

Wir raten dringend davon ab, das Geheimnis in Code aufzudecken, der im Browser ausgeführt wird, entweder fest codiert oder über einen Netzwerkanruf übertragen.

Der Erwerb des Tokens mithilfe des Geheimnisses in Ihrem Servicecode ist der sicherste Weg, um Ihr Copilot Studio Agent zu schützen.

Geheimnisse abrufen

Sie benötigen das Geheimnis, damit Sie es in den Autorisierungsheaderanforderungen Ihrer App oder ähnlichem angeben können.

  1. Wählen Sie im Navigationsmenü unter Einstellungen die Option Sicherheit. Wählen Sie dann die Kachel Webkanalsicherheit aus.

  2. Wählen Sie Kopieren entweder für Geheimnis 1 oder Geheimnis 2, um es in die Zwischenablage zu kopieren. Wählen Sie das Sichtbarkeitssymbol Symbol für die Sichtbarkeit., um das Geheimnis enthüllen. Eine Warnmeldung erscheint, bevor Sie es aufdecken können.

Geheimnisse austauschen

Wenn Sie das von Ihrem Agent verwendete Geheimnis ändern müssen, können Sie dies ohne Ausfallzeiten oder Unterbrechungen tun.

Copilot Studio verrät Ihnen zwei Geheimnisse, die gleichzeitig wirken. Sie können das verwendete Geheimnis gegen das andere austauschen. Sobald die Geheimnisse ausgetauscht wurden und alle Benutzer über das neue Geheimnis verbunden sind, können Sie das Geheimnis sicher neu generieren.

Geheimnis erneut generieren

Um ein Geheimnis erneut zu generieren, wählen Sie Erneut generieren neben dem Geheimnis aus.

Warnung

Alle Benutzenden, die mit dem ursprünglichen Geheimnis oder einem von diesem Geheimnis erhaltenen Token verbunden sind, werden getrennt.

Ein Token generieren

Sie können ein Token generieren, das beim Starten einer einzelnen Agent-Konversation verwendet werden kann. Weitere Informationen finden Sie im Abschnitt Token Direct Line erhalten in Ein Agent in mobilen oder benutzerdefinierten Apps veröffentlichen.

  1. Geheimnis abrufen.

  2. Stellen Sie die folgende Anforderung in Ihrem Servicecode, um das Geheimnis gegen ein Token auszutauschen. Ersetzen Sie <SECRET> mit dem Wert des Geheimnisses, das Sie in Schritt 1 erhalten haben.

    POST https://directline.botframework.com/v3/directline/tokens/generate
    Authorization: Bearer <SECRET>
    

Die folgenden Snippets enthalten Beispiele der generierten Tokenanforderung und der Antwort.

Beispielerstellung für eine Token-Anforderung

POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0

Beispielerstellung für eine Token-Antwort

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "expires_in": 1800
}

Wenn die Anforderung erfolgreich ist, enthält die Antwort ein Token, das für eine Unterhaltung gültig ist, und einen expires_in-Wert, der die Anzahl der Sekunden angibt, bis das Token abläuft.

Damit das Token nützlich bleibt, müssen Sie das Token aktualisieren, bevor es abläuft.

Token aktualisieren

Ein Token kann beliebig oft aktualisiert werden, solange es nicht abgelaufen ist.

Ein abgelaufenes Token kann nicht aktualisiert werden.

Geben Sie zum Aktualisieren eines Tokens die folgende Anforderung aus und ersetzen Sie <TOKEN TO BE REFRESHED> mit dem Token, das Sie aktualisieren möchten.

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>

Die folgenden Snippets enthalten Beispiele für die Anforderung zum Aktualsieren von Token und dessen Antwort.

Beispiel für eine Aktualisierungsanforderung

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn

Beispiel für eine Aktualisierungsantwort

Wenn die Anforderung erfolgreich ist, enthält die Antwort ein neues Token, das für dieselbe Unterhaltung gültig ist, wie das vorherige Token, und einen expires_in-Wert, der die Anzahl der Sekunden angibt, bis das neue Token abläuft.

Damit das neue Token nützlich bleibt, müssen Sie das Token erneut aktualisieren, bevor es abläuft.

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
  "expires_in": 1800
}

Weitere Informationen zum Aktualisieren eines Tokens finden Sie im Abschnitt Direct Line-Token aktualisieren im Thema Direct Line-API – Authentifizierung.