Konfigurieren von Web- und Direct Line Kanalsicherheit

Die Web- und Direct Line-Channel-Sicherheit bestimmt, ob Kunden ein Direct Line-Geheimnis oder Token bereitstellen müssen, um sich mit Ihrem Copilot Studio-Agenten zu verbinden. Ohne sicheren Zugriff kann sich jeder, der die Agenten-ID kennt, über die Demo-Website- und Custom-Website-Kanäle verbinden.

Note

Im Nur-Teams-Modus kannst du keine Geheimschlüssel generieren. Secure Access Tokens werden automatisch erstellt, und der gesicherte Zugriff ist standardmäßig aktiviert. Für Lizenzanforderungen siehe Microsoft Product Terms.

Aktivieren Sie "Sicheren Zugriff erforderlich machen", um von den Clients zu verlangen, ein Geheimnis oder ein Token vorzulegen. Diese Zugangsdaten autorisieren den Zugriff auf den Direct Line-Kanal; sie authentifizieren den Endnutzer nicht und schränken den Zugang zu einer bestimmten Website nicht selbst ein. Konfigurieren Sie die Benutzerauthentifizierung separat, wenn Benutzer sich anmelden müssen.

Man kann Secrets tauschen und regenerieren, Refresh-Token aktualisieren oder gesicherten Zugriff deaktivieren, wenn er nicht mehr benötigt wird.

Copilot Studio verwendet den Bot Framework Direct Line Kanal, um ihre Webseite oder App mit dem Agent zu verbinden.

Schalte die Webkanal-Sicherheit ein oder aus

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

Wenn Sie diese Option aktivieren, müssen Kanäle den Client dazu bringen, ihre Anfragen zu authentifizieren, entweder mithilfe eines Geheimnisses oder mithilfe eines Tokens, das mit dem Geheimnis generiert und zur Laufzeit abgerufen wird.

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.

  2. Aktivieren Sie " Gesicherten Zugriff anfordern".

Warning

Wenn Sie Gesicherten Zugriff anfordern ein- oder ausschalten, kann es bis zu zwei Stunden dauern, bis die neuen Systemeinstellungen in Kraft treten. Bis dahin ist die vorherige Einstellung wirksam. Sie müssen den Agent nicht veröffentlichen, damit diese Änderung wirksam wird.

Planen Sie im Voraus, um zu vermeiden, dass Ihr Agent versehentlich offengelegt wird.

Um die Webkanal-Sicherheit auszuschalten, schalten Sie "Sicheren Zugriff erforderlich " aus und bestätigen Sie die Änderung. Die Änderung kann bis zu zwei Stunden dauern, bis sie wirksam wird.

Screenshot der Bestätigung, dass das Abschalten des gesicherten Zugangs die Demo-Website und ungesicherte Direct Line-Kanäle verfügbar macht.

Verwenden von Geheimnissen oder Tokens

Für eine Service-to-Service-App geben Sie das Secret im Autorisierungsheader der Anfragen von Ihrem Service an.

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.

Warning

Machen Sie das Geheimnis in keinem Code verfügbar, der im Browser ausgeführt wird, entweder hartcodiert 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. Um den geheimen Wert anzuzeigen, wählen Sie das Sichtbarkeitssymbol aus und überprüfen Sie die Warnmeldung.

Geheimnisse austauschen

Wenn Sie den geheimen Schlüssel ändern müssen, den Ihr Agent verwendet, können Sie ihn ohne Ausfallzeiten oder Unterbrechungen ändern.

Copilot Studio bietet Ihnen zwei geheime Schlüssel, die gleichzeitig funktionieren. Sie können den geheimen Schlüssel austauschen, den Ihr Agent mit dem anderen verwendet. Nachdem die geheimen Schlüssel ausgetauscht wurden und Ihre Benutzer alle mithilfe des neuen geheimen Schlüssels verbunden sind, können Sie den geheimen Schlüssel neu generieren.

Ein Secret erneut generieren

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

Warning

Das Benutzerprofil, das eine Verbindung mithilfe des ursprünglichen geheimen Schlüssels oder eines Tokens herstellt, das aus diesem geheimen Schlüssel abgerufen wird, wird getrennt.

Ein Token generieren

Du kannst ein Token generieren, um eine einzelne Agenten-Konversation zu starten. Dieses Verfahren tauscht ein Direct Line-Geheimnis gegen ein Konversationstoken in Ihrem Servicecode. Für die Option „Copilot Studio-Tokenendpunkt“ erfahren Sie mehr unter Get Direct Line token.

  1. Geheimnis erlangen.

  2. Senden Sie in Ihrem Servicecode die Beispiel-Token-Generierungsanfrage. Ersetze <DirectLineSecret> durch das Geheimnis, das du kopiert hast.

Beispielerstellung für eine Token-Anforderung

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

Beispiel zur Generierung einer Token-Antwort

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "<DirectLineToken>",
  "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.

Um das Token nützlich zu halten, müssen Sie das Token aktualisieren , bevor es abläuft.

Token aktualisieren

Sie können ein Token beliebig oft aktualisieren, solange es nicht abgelaufen ist.

Sie können ein abgelaufenes Token nicht aktualisieren.

Senden Sie die Beispielanfrage zur Aktualisierung. Ersetze <DirectLineToken> durch das nicht abgelaufene Token, das du aktualisieren möchtest. Benutze das Konversationstoken, nicht das Direct Line-Geheimnis.

Beispiel für eine Aktualisierungsanforderung

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <DirectLineToken>

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.

Um das neue Token nützlich zu halten, aktualisieren Sie das Token erneut, bevor es abläuft.

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "<DirectLineToken>",
  "expires_in": 1800
}

Erfahren Sie mehr unter Ein Direct Line-Token aktualisieren.