Freigeben über


Konfigurieren von Web- und Direct Line Kanalsicherheit

Wenn Sie einen Copilot Studio-Agent erstellen, ist er sofort in der Demo-Website und Custom-Website Kanälen für alle Benutzer verfügbar, die die Agent-ID kennen. Diese Kanäle sind standardmäßig verfügbar und es ist keine Konfiguration erforderlich.

Für die Microsoft Teams-App können Sie erweiterte Webkanalsicherheitsoptionen 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 in Copilot Studio oder von jemanden erhalten. Aber je nach Leistungsfähigkeit des Agenten und der Sensitivität ist das möglicherweise nicht wünschenswert.

Mit der auf Direct Line basierenden Sicherheit können Sie den Zugriff nur auf Orte aktivieren, die Sie steuern, indem Sie den sicheren Zugriff durch Direct Line Secrets 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 dem Agent zu verbinden.

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, müssen Kanäle den Client auffordern, ihre Anforderungen entweder mithilfe eines Geheimnisses oder mithilfe eines Tokens, das zur Laufzeit mithilfe des Geheimnisses generiert wird, zu authentifizieren.

Versuche, auf den Agent zuzugreifen, der diese Sicherheitsmaßnahme nicht bereitstellt, funktionieren nicht.

  1. Wechseln Sie zur Seite "Einstellungen" für Ihren Agent, wählen Sie "Sicherheit" und dann "Webkanalsicherheit" aus.

Screenshot der im Einstellungs-Flyout hervorgehobenen Webkanal-Sicherheit.

  1. Aktivieren Sie "Gesicherten Zugriff anfordern".

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 ist die vorherige Einstellung wirksam. Sie müssen den 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 tun, indem Sie die Umschaltfläche "Gesicherten Zugriff erfordern " deaktivieren. Das Deaktivieren des gesicherten Zugriffs kann bis zu zwei Stunden in Anspruch nehmen, um sich vollständig durchzusetzen.

Screenshot einer Bestätigungsmeldung beim Deaktivieren des gesicherten Zugriffs, die besagt, dass diese Aktion die Demo-Website und jeden Direct-Line-Kanal ohne Verwendung eines Geheimnisses oder Tokens verfügbar macht. Diese Aktion kann bis zu zwei Stunden dauern, bis sie wirksam wird.

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.

Das Abrufen des Tokens mithilfe des geheimen Schlüssels in Ihrem Dienstcode ist die sicherste Methode, um Ihren Copilot Studio-Agent zu schützen.

Geheimnisse erlangen

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 aus, um den geheimen Schlüssel anzuzeigen. 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 bietet Ihnen zwei geheime Schlüssel, die gleichzeitig funktionieren. 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.

Ein Secret erneut generieren

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

Warnung

Jedes Benutzerprofil, das mit dem ursprünglichen Geheimschlüssel oder einem Token verbunden ist, das aus diesem geheimen Schlüssel abgerufen wurde, wird 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 Get-Direct-Line-Token in Veröffentlichen eines Agenten in mobilen oder benutzerdefinierten Apps.

  1. Geheimnis erlangen.

  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

Beispiel zur Generierung einer 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 zur Aktualisierung des Tokens 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 Refresh a Direct Line token in Direct Line API – Authentication.