Zabezpieczenia i prywatność w usłudze Bot Framework — często zadawane pytania

Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące zabezpieczeń i prywatności.

DOTYCZY: ZESTAW SDK w wersji 4

Czy boty zarejestrowane w usłudze Bot Framework zbierają dane osobowe? Jeśli tak, jak mogę mieć pewność, że dane są bezpieczne i bezpieczne? A co z prywatnością?

Każda bot jest odrębną usługą, a deweloperzy tych usług są zobowiązani do dostarczenia Warunków użytkowania usługi oraz Oświadczenia o ochronie prywatności zgodnie z Kodeksem postępowania dewelopera. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące przeglądu bota.

Czy mogę hostować mojego bota na własnych serwerach?

Tak. Bot może być hostowany w dowolnym miejscu w Internecie. Na własnych serwerach, na platformie Azure lub w dowolnym innym centrum danych. Jedynym wymaganiem jest to, że bot musi uwidocznić publicznie dostępny punkt końcowy HTTPS.

Jak zablokować lub usunąć boty z usługi?

Użytkownicy mają sposób zgłaszania błędnie działającego bota za pośrednictwem karty kontaktowej bota w katalogu. Deweloperzy muszą przestrzegać warunków użytkowania usługi firmy Microsoft, aby uczestniczyć w usłudze.

Które określone adresy URL muszę zezwolić na listę dozwolonych w zaporze firmowej, aby uzyskać dostęp do usług Bot Framework?

Jeśli masz zaporę wychodzącą, która blokuje ruch z bota do Internetu, musisz dodać następujące adresy URL w tej zaporze:

  • login.botframework.com (Uwierzytelnianie bota)
  • login.microsoftonline.com (Uwierzytelnianie bota)
  • westus.api.cognitive.microsoft.com (w przypadku integracji Luis.ai NLP)
  • *.botframework.com (kanały)
  • state.botframework.com (zgodność z poprzednimi wersjami)
  • login.windows.net (Logowanie do systemu Windows)
  • login.windows.com (Logowanie do systemu Windows)
  • sts.windows.net (Logowanie do systemu Windows)
  • Inne adresy URL dla określonych kanałów platformy Bot Framework

Uwaga

Usługa Language Understanding (LUIS) zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie będzie można tworzyć nowych zasobów usługi LUIS. Nowsza wersja interpretacji języka jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.

Język konwersacyjny (CLU), funkcja języka AI platformy Azure, to zaktualizowana wersja usługi LUIS. Aby uzyskać więcej informacji na temat obsługi języka w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Uwaga

Możesz użyć <channel>.botframework.com opcji , jeśli nie chcesz zezwalać na listę adresów URL z gwiazdką. <channel> jest równy każdemu kanałowi używanemu przez bota, takim jak directline.botframework.com, webchat.botframework.comi slack.botframework.com. Warto również obserwować ruch przez zaporę podczas testowania bota, aby zobaczyć, jaki ruch blokuje.

Czy mogę zablokować cały ruch do bota z wyjątkiem ruchu z usługi Bot Framework Service?

Usługi Bot Framework Services są hostowane w centrach danych platformy Azure na całym świecie, a lista adresów IP platformy Azure stale się zmienia. Oznacza to, że pozycja Zezwalaj na wyświetlanie niektórych adresów IP może działać pewnego dnia i przerwać następny w miarę zmiany adresów IP platformy Azure.

Jaka rola RBAC jest wymagana do utworzenia i wdrożenia bota?

Utworzenie bota w witrynie Azure Portal wymaga dostępu na poziomie Współautor w ramach subskrypcji lub w ramach określonej grupy zasobów. Użytkownik z rolą Współautor w grupie zasobów może utworzyć nowego bota w tej konkretnej grupie zasobów. Użytkownik w roli Współautor dla subskrypcji może utworzyć bota w nowej lub istniejącej grupie zasobów.

Korzystając z interfejsu wiersza polecenia platformy Azure, podejście kontroli dostępu opartej na rolach może obsługiwać role niestandardowe. Jeśli chcesz utworzyć rolę niestandardową z większymi ograniczonymi uprawnieniami, zestaw poniżej umożliwia użytkownikowi tworzenie i wdrażanie bota obsługującego również usługę LUIS, usługę QnA Maker i Szczegółowe informacje aplikacji.

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

Uwaga

Usługa Azure AI QnA Maker zostanie wycofana 31 marca 2025 r. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów ani baz wiedzy w programie QnA Maker.

Usługa Language Understanding (LUIS) zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie będzie można tworzyć nowych zasobów usługi LUIS.

Nowsze wersje tych usług są teraz dostępne w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać więcej informacji na temat obsługi pytań i odpowiedzi i interpretacji języka w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Uwaga

Usługi LUIS i QnA Maker wymagają uprawnień usług Azure AI. Usługa QnA Maker wymaga również uprawnień wyszukiwania. Podczas tworzenia roli niestandardowej należy pamiętać, że wszystkie dziedziczone uprawnienia odmowy zastąpią te uprawnienia zezwalania .

Co chroni bota przed personifikacją usługi Bot Framework Service przez klientów?

  1. Wszystkie autentyczne żądania platformy Bot Framework towarzyszą tokenowi JWT, którego podpis kryptograficzny można zweryfikować, postępując zgodnie z przewodnikiem uwierzytelniania . Token został zaprojektowany tak, aby osoby atakujące nie mogły personifikować zaufanych usług.
  2. Token zabezpieczający towarzyszący każdemu żądaniu botowi ma w nim zakodowany element ServiceUrl, co oznacza, że nawet jeśli osoba atakująca uzyska dostęp do tokenu, nie może przekierować konwersacji do nowej biblioteki ServiceUrl. Jest to wymuszane przez wszystkie implementacje zestawu SDK i udokumentowane w naszych materiałach referencyjnych uwierzytelniania.
  3. Jeśli brakuje tokenu przychodzącego lub jest on źle sformułowany, zestaw SDK platformy Bot Framework nie wygeneruje tokenu w odpowiedzi. Ogranicza to, ile szkód można zrobić, jeśli bot jest niepoprawnie skonfigurowany.
  4. Wewnątrz bota możesz ręcznie sprawdzić wartość ServiceUrl podaną w tokenie. Dzięki temu bot staje się bardziej kruchy, jeśli topologia usługi ulegnie zmianie, więc chociaż jest to możliwe, nie jest to zalecane.

Uwaga

Są to połączenia wychodzące z bota do Internetu. Nie ma listy adresów IP ani nazw DNS, których usługa Bot Framework Połączenie or service będzie używać do komunikacji z botem. Lista dozwolonych adresów IP dla ruchu przychodzącego nie jest obsługiwana.

Jaki jest cel kodu magicznego podczas uwierzytelniania?

W kontrolce czat internetowy istnieją dwa mechanizmy zapewniające, że właściwy użytkownik jest zalogowany.

  1. Kod magiczny. Na końcu procesu logowania użytkownik jest wyświetlany losowo wygenerowany 6-cyfrowy kod (kod magiczny). Aby ukończyć proces logowania, użytkownik musi wpisać ten kod w konwersacji. Ma to tendencję do złego środowiska użytkownika. Ponadto nadal jest podatna na ataki wyłudzane informacje. Złośliwy użytkownik może nakłonić innego użytkownika do zalogowania się i uzyskać kod magiczny za pośrednictwem wyłudzania informacji.

    Ostrzeżenie

    Użycie kodu magicznego jest przestarzałe. Zamiast tego należy użyć rozszerzonego uwierzytelniania w wierszu bezpośrednim, opisanego poniżej.

  2. Rozszerzone uwierzytelnianie w wierszu bezpośrednim. Ze względu na problemy z podejściem kodu magicznego usługa Azure AI Bot Service usunęła jej potrzebę. Usługa Azure AI Bot Service gwarantuje, że proces logowania można wykonać tylko w tej samej sesji przeglądarki co sam czat internetowy. Aby włączyć tę ochronę, należy uruchomić czat internetowy z tokenem direct line zawierającym listę zaufanych źródeł, znanej również jako zaufane domeny, które mogą hostować klienta czat internetowy bota. Dzięki rozszerzonym opcjom uwierzytelniania można statycznie określić listę zaufanych źródeł na stronie konfiguracji linii bezpośredniej. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie rozszerzone direct line.

Jak platforma Bot Framework obsługuje zarządzanie tożsamościami i dostępem?

Zarządzanie tożsamościami i dostępem (IAM) to struktura (zasady i technologie), która umożliwia odpowiednim osobom odpowiedni dostęp do zasobów technologicznych. Aby uzyskać więcej informacji, zobacz Zarządzanie tożsamościami.

Platforma Bot Framework udostępnia następujące mechanizmy identyfikacji:

  • Uwierzytelnianie bota. Określa, czy żądanie pochodzi z wiarygodnego źródła. Jest kontrolowana przez usługę łącznika bota i umożliwia bezpieczną komunikację między botem a kanałem. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie bota.

  • Uwierzytelnianie użytkownika. Umożliwia botowi dostęp do zabezpieczonych zasobów online w imieniu użytkownika. Standard branżowy OAuth służy do uwierzytelniania użytkownika i autoryzowania bota w celu uzyskania dostępu do zasobów. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie użytkowników.

Podsumowując, platforma Bot Framework obsługuje uwierzytelnianie typu service-to-service (uwierzytelnianie bota), zasadniczo weryfikowanie, że żądanie rzeczywiście pochodzi z odpowiedniego kanału. Bot jest odpowiedzialny za obsługę niższych poziomów uwierzytelniania. Filtr można zastosować, aby bot akceptował tylko żądania z określonego identyfikatora dzierżawy lub wymagać od użytkowników uwierzytelnienia za pomocą usługi OAuth (uwierzytelniania użytkownika).

Jak mogę ograniczyć użycie bota tylko do użytkowników należących do mojej dzierżawy?

Istnieją dwie różne opcje ograniczania przychodzących komunikatów, które przetwarza bot.

  • Jeśli masz do czynienia z bezpiecznymi danymi, zdecydowanie zaleca się użycie protokołu OAuth do uwierzytelniania użytkowników.

  • Używanie oprogramowania pośredniczącego jest inną dobrą opcją. Na przykład w kanale usługi Teams możesz utworzyć oprogramowanie pośredniczące, aby uzyskać identyfikator dzierżawy z danych kanału usługi Teams. Oprogramowanie pośredniczące może następnie zdecydować, czy zezwolić na kontynuowanie działania przychodzącego do logiki bota, czy też zamiast tego zwracać komunikat o błędzie.

    Ostrzeżenie

    Nie można uniemożliwić usłudze Teams wysyłania wiadomości z różnych dzierżaw ani uniemożliwić komuś zainstalowania bota, jeśli mają manifest aplikacji. Wszystko, co można zrobić, to uniemożliwić botowi przetwarzanie niepożądanych komunikatów.