Konfigurowanie zabezpieczeń sieci Web i kanału Direct Line

Bezpieczeństwo kanałów Web i Direct Line decyduje, czy klienci muszą podać sekret Direct Line lub token, aby połączyć się z agentem Copilot Studio. Bez zabezpieczonego dostępu każdy, kto zna identyfikator agenta, może połączyć się przez stronę Demo oraz stronę Custom.

Note

W środowisku tylko w Teams nie możesz generować sekretów. Tokeny bezpiecznego dostępu są tworzone automatycznie, a dostęp zabezpieczony jest domyślnie włączony. W przypadku wymagań licencyjnych zapoznaj się z Microsoft Product Terms.

Włącz opcję Wymagaj dostępu zabezpieczonego , aby wymagać od klientów przedstawienia sekretu lub tokena. Te poświadczenia upoważniają do dostępu do kanału Direct Line; same w sobie nie uwierzytelniają użytkownika końcowego ani nie ograniczają dostępu do konkretnej strony internetowej. Konfiguruj uwierzytelnianie użytkownika osobno, gdy użytkownicy muszą się zalogować.

Możesz wymieniać i regenerować klucze tajne, odświeżać tokeny lub wyłączyć zabezpieczony dostęp, gdy nie jest już potrzebny.

Program Copilot Studio używa kanału Bot Framework Direct Line, aby połączyć stronę internetową lub aplikację z agentem.

Włącz lub wyłącz zabezpieczenia kanału internetowego

Istnieje możliwość wymuszania korzystania z sekretów i tokenów w poszczególnych agentach.

Po włączeniu tej opcji kanały muszą uwierzytelniać żądania klienta przy użyciu sekretu lub tokenu generowanego przy użyciu sekretu, który jest uzyskiwany w czasie wykonywania.

Próby uzyskania dostępu do agenta, który nie zapewnia tej miary zabezpieczeń, nie działają.

  1. Przejdź do strony Ustawienia agenta, wybierz pozycję Zabezpieczenia, a następnie wybierz pozycję Zabezpieczenia kanału internetowego.

    Zrzut ekranu przedstawiający zabezpieczenia kanału internetowego podświetlone w menu wysuwanym Ustawienia.

  2. Włącz opcję Wymagaj zabezpieczonego dostępu.

Warning

Gdy włączasz lub wyłączasz opcję Wymagaj zabezpieczonego dostępu, nowe ustawienia systemu mogą zacząć obowiązywać dopiero po upływie maksymalnie dwóch godzin. Do tego czasu poprzednie ustawienie jest w mocy. Nie musisz publikować agenta, aby ta zmiana weszła w życie.

Zaplanuj z wyprzedzeniem, aby uniknąć przypadkowego ujawnienia agenta.

Aby wyłączyć bezpieczeństwo kanału internetowego, wyłącz opcję Wymagaj dostępu zabezpieczonego i potwierdź zmianę. Wprowadzenie zmiany może zająć do dwóch godzin, zanim zacznie obowiązywać.

Zrzut ekranu potwierdza, że wyłączenie zabezpieczonego dostępu udostępnia stronę demo oraz niezabezpieczone kanały Direct Line.

Używanie sekretów lub tokenów

W przypadku aplikacji usługa-usługa podaj klucz tajny w nagłówku autoryzacji żądań z Twojej usługi.

Jeśli piszesz aplikację, w której klient działa w przeglądarce internetowej lub aplikacji mobilnej, albo w innym przypadku kod może być widoczny dla klientów, musisz wymienić swój sekret na token. Jeśli nie użyjesz tokena, Twój sekret może zostać naruszony. Podczas wysyłania żądania pobrania tokenu w usłudze należy określić klucz tajny w nagłówku autoryzacji.

Tokeny działają tylko dla pojedynczej rozmowy i wygasną, o ile nie zostaną odświeżone.

Wybierz model zabezpieczeń, który najlepiej pasuje do danej sytuacji.

Warning

Nie ujawniaj tajemnicy w żadnym kodzie, który działa w przeglądarce, niezależnie od tego, czy jest zakodowany, czy przesyłany przez wywołanie sieciowe.

Uzyskiwanie tokenu przy użyciu tajnego klucza w kodzie usługi jest najbezpieczniejszym sposobem zapewnienia bezpieczeństwa agenta Copilot Studio.

Uzyskaj sekrety

Potrzebujesz sekretu, aby móc określić go w nagłówku Authorization aplikacji w żądaniach lub w podobny sposób.

  1. W menu nawigacji, w sekcji Ustawienia wybierz Zabezpieczenia. Następnie wybierz kafelek Zabezpieczenia kanału internetowego.

  2. Wybierz Kopiuj dla Secret 1 lub Secret 2, aby skopiować do schowka. Aby ujawnić wartość tajną, wybierz ikonę widoczności i przejrzyj komunikat ostrzegawczy.

Zamień sekrety

Jeśli musisz zmienić sekret używany przez agenta, możesz to zrobić bez przerw w działaniu.

Program Copilot Studio dostarcza dwie tajemnice, które działają jednocześnie. Możesz wymienić sekret używany przez agenta na inny. Po zamianie wpisów tajnych i połączeniu wszystkich użytkowników przy użyciu nowego wpisu tajnego można ponownie wygenerować wpis tajny.

Wygeneruj ponownie sekret

Aby ponownie wygenerować wpis tajny, należy wybrać opcję Wygeneruj ponownie obok wpisu tajnego.

Warning

Profil użytkownika, który nawiązuje połączenie przy użyciu oryginalnej tajemnicy lub tokenu uzyskanego z tej tajemnicy, jest odłączony.

Generowanie tokenu

Możesz wygenerować token, aby rozpocząć rozmowę obsługiwaną przez jednego agenta. Ta procedura wymienia sekret Direct Line na token konwersacyjny w kodzie Twojej usługi. W przypadku opcji punktu końcowego tokenu Copilot Studio dowiedz się więcej w artykule Get Direct Line token.

  1. Uzyskaj sekret.

  2. W kodzie serwisowym wyślij przykładowe żądanie generowania tokena. Zamień <DirectLineSecret> na sekret, który skopiowałeś.

Przykładowe żądanie wygenerowania tokenu

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

Przykładowa odpowiedź generowania tokenu

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

Jeśli żądanie zakończy się pomyślnie, odpowiedź zawiera token ważny dla jednej konwersacji, a wartość expires_in wskazuje liczbę sekund do wygaśnięcia tokenu.

Aby token był przydatny, należy odświeżyć token przed jego wygaśnięciem.

Odśwież token

Token można odświeżyć nieograniczoną liczbę razy, o ile nie wygasł.

Nie można odświeżyć wygasłego tokenu.

Wyślij żądanie odświeżenia próbki. Zastąp <DirectLineToken> nieprzeterminowanym tokenem, który chcesz odświeżyć. Użyj tokena rozmowy, nie sekretu Direct Line.

Przykładowe żądanie odświeżania

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

Przykładowa odpowiedź odświeżenia

Jeśli żądanie zakończy się pomyślnie, odpowiedź zawiera token ważny dla tej samej rozmowy co poprzedni token, a wartość expires_in wskazuje liczbę sekund do wygaśnięcia nowego tokenu.

Aby zachować przydatny nowy token, odśwież token ponownie przed jego wygaśnięciem.

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

Dowiedz się więcej w Refresh a Direct Line token.