Szyfrowanie usługi Azure AI Bot Service dla danych magazynowanych

DOTYCZY: ZESTAW SDK w wersji 4

Usługa Azure AI Bot Service automatycznie szyfruje dane, gdy są utrwalane w chmurze w celu ochrony danych i spełnienia zobowiązań organizacji w zakresie zabezpieczeń i zgodności.

Szyfrowanie i odszyfrowywanie są przezroczyste, co oznacza, że szyfrowanie i dostęp są zarządzane. Dane są domyślnie bezpieczne i nie trzeba modyfikować kodu ani aplikacji, aby korzystać z szyfrowania.

Informacje o zarządzaniu kluczami szyfrowania

Domyślnie subskrypcja używa kluczy szyfrowania zarządzanych przez firmę Microsoft. Zasób bota można zarządzać własnymi kluczami nazywanymi kluczami zarządzanymi przez klienta. Klucze zarządzane przez klienta zapewniają większą elastyczność tworzenia, obracania, wyłączania i odwoływanie kontroli dostępu do magazynów usługi Azure AI Bot Service. Możesz również przeprowadzać inspekcję kluczy szyfrowania używanych do ochrony danych.

Podczas szyfrowania danych usługa Azure AI Bot Service szyfruje dwa poziomy szyfrowania. W przypadku, gdy klucze zarządzane przez klienta nie są włączone, oba używane klucze są kluczami zarządzanymi przez firmę Microsoft. Po włączeniu kluczy zarządzanych przez klienta dane są szyfrowane zarówno przy użyciu klucza zarządzanego przez klienta, jak i klucza zarządzanego przez firmę Microsoft.

Klucze zarządzane przez klienta za pomocą usługi Azure Key Vault

Aby korzystać z funkcji kluczy zarządzanych przez klienta, musisz przechowywać klucze i zarządzać nimi w usłudze Azure Key Vault. Możesz utworzyć własne klucze i przechowywać je w magazynie kluczy lub użyć interfejsów API usługi Azure Key Vault do generowania kluczy. Zasób usługi Azure Bot i magazyn kluczy muszą znajdować się w tej samej dzierżawie identyfikatora Entra firmy Microsoft, ale mogą znajdować się w różnych subskrypcjach. Aby uzyskać więcej informacji na temat usługi Azure Key Vault, zobacz Co to jest usługa Azure Key Vault?.

W przypadku korzystania z klucza zarządzanego przez klienta usługa Azure AI Bot Service szyfruje dane w magazynie. Jeśli dostęp do tego klucza zostanie odwołany lub klucz zostanie usunięty, bot nie będzie mógł wysyłać ani odbierać komunikatów za pomocą usługi Azure AI Bot Service i nie będzie można uzyskać dostępu do ani edytować konfiguracji bota w witrynie Azure Portal.

Podczas tworzenia zasobu usługi Azure Bot za pośrednictwem portalu platforma Azure generuje identyfikator aplikacji i hasło, ale nie przechowuje ich w usłudze Azure Key Vault. Usługi Key Vault można używać z usługą Azure AI Bot Service. Aby uzyskać informacje, zobacz Konfigurowanie aplikacji internetowej w celu nawiązania połączenia z usługą Key Vault. Aby zapoznać się z przykładem przechowywania i pobierania wpisów tajnych za pomocą usługi Key Vault, zobacz Szybki start: biblioteka klienta wpisu tajnego usługi Azure Key Vault dla platformy .NET (SDK w wersji 4).

Ważne

Zespół usługi Azure AI Bot Service nie może odzyskać bota klucza szyfrowania zarządzanego przez klienta bez dostępu do klucza.

Jakie dane są szyfrowane?

Usługa Azure AI Bot Service przechowuje dane klientów dotyczące bota, używane kanały, ustawienia konfiguracji zestawów deweloperów oraz, w razie potrzeby, rekord aktualnie aktywnych konwersacji. Jest to również przejściowe, przez mniej niż 24 godziny, przechowuje komunikaty wysyłane za pośrednictwem linii bezpośredniej lub czat internetowy kanałów i wszystkich przekazanych załączników.

Wszystkie dane klientów są szyfrowane przy użyciu dwóch warstw szyfrowania w usłudze Azure AI Bot Service; za pomocą kluczy szyfrowania zarządzanych przez firmę Microsoft lub kluczy szyfrowania zarządzanych przez klienta firmy Microsoft. Usługa Azure AI Bot Service szyfruje dane przechowywane przejściowo przy użyciu kluczy szyfrowania zarządzanych przez firmę Microsoft, a w zależności od konfiguracji zasobu usługi Azure Bot szyfruje długoterminowe dane przy użyciu kluczy szyfrowania zarządzanych przez firmę Microsoft lub klienta.

Uwaga

Ponieważ usługa Azure AI Bot Service istnieje, aby zapewnić klientom możliwość dostarczania komunikatów do i od użytkowników w innych usługach spoza usługi Azure AI Bot Service, szyfrowanie nie rozciąga się na te usługi. Oznacza to, że w ramach kontroli usługi Azure AI Bot Service dane będą przechowywane jako zaszyfrowane zgodnie ze wskazówkami w tym artykule; Jednak podczas opuszczania usługi do dostarczania do innej usługi dane są odszyfrowywane, a następnie wysyłane przy użyciu szyfrowania TLS 1.2 do usługi docelowej.

Jak skonfigurować wystąpienie usługi Azure Key Vault

Używanie kluczy zarządzanych przez klienta z usługą Azure AI Bot Service wymaga włączenia dwóch właściwości w wystąpieniu usługi Azure Key Vault, które ma być używane do hostowania kluczy szyfrowania: usuwanie nietrwałe i ochrona przed przeczyszczeniem. Te funkcje zapewniają, że jeśli z jakiegoś powodu klucz zostanie przypadkowo usunięty, możesz go odzyskać. Aby uzyskać więcej informacji na temat usuwania nietrwałego i ochrony przed przeczyszczeniem, zobacz Omówienie usuwania nietrwałego usługi Azure Key Vault.

Screenshot of soft delete and purge protection enabled.

Jeśli używasz istniejącego wystąpienia usługi Azure Key Vault, możesz sprawdzić, czy te właściwości są włączone, przeglądając sekcję Właściwości w witrynie Azure Portal. Jeśli którakolwiek z tych właściwości nie jest włączona, zobacz sekcję Key Vault w temacie Jak włączyć usuwanie nietrwałe i ochronę przed przeczyszczeniem.

Udzielanie usłudze Azure AI Bot Service dostępu do magazynu kluczy

Aby usługa Azure AI Bot Service miała dostęp do magazynu kluczy utworzonego w tym celu, należy ustawić zasady dostępu, co daje jednostce usługi Azure AI Bot Service bieżący zestaw uprawnień. Aby uzyskać więcej informacji na temat usługi Azure Key Vault, w tym sposobu tworzenia magazynu kluczy, zobacz About Azure Key Vault (Informacje o usłudze Azure Key Vault).

  1. Zarejestruj dostawcę zasobów usługi Azure AI Bot Service w ramach subskrypcji zawierającej magazyn kluczy.

    1. Przejdź do portalu Azure Portal.
    2. Otwórz blok Subskrypcje i wybierz subskrypcję zawierającą magazyn kluczy.
    3. Otwórz blok Dostawcy zasobów i zarejestruj dostawcę zasobów Microsoft.BotService.

    Microsoft.BotService registered as a resource provider

  2. Usługa Azure Key Vault obsługuje dwa modele uprawnień: zasady dostępu na podstawie ról (RBAC) platformy Azure lub magazynu. Możesz użyć dowolnego modelu uprawnień. Upewnij się, że zapory i sieci wirtualne w bloku Sieć w usłudze Key Vault ma wartość Zezwalaj na dostęp publiczny ze wszystkich sieci w tym kroku. Ponadto upewnij się, że operator otrzymał uprawnienie Operacje zarządzania kluczami.

    Screenshot of the two permission models available for your key vault.

    1. Aby skonfigurować model uprawnień RBAC platformy Azure w magazynie kluczy:

      1. Otwórz blok Magazyny kluczy i wybierz magazyn kluczy.
      2. Przejdź do bloku Kontrola dostępu (IAM) i przypisz rolę użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault do usługi Bot Service CMEK Prod. Tę zmianę może wprowadzić tylko użytkownik z rolą właściciela subskrypcji.

      Screenshot of key vault configuration showing the crypto service encryption user role has been added.

    2. Aby skonfigurować model uprawnień zasad dostępu usługi Key Vault w magazynie kluczy:

      1. Otwórz blok Magazyny kluczy i wybierz magazyn kluczy.
      2. Dodaj aplikację CMEK Prod usługi Bot Service jako zasady dostępu i przypisz do niej następujące uprawnienia:
      • Pobieranie (z operacji zarządzania kluczami)
      • Odpakowywanie klucza (z operacji kryptograficznych)
      • Zawijanie klucza (z operacji kryptograficznych)
      1. Wybierz pozycję Zapisz , aby zapisać wprowadzone zmiany.

      Bot Service CMEK Prod added as an access policy

  3. Zezwól usłudze Key Vault na obejście zapory.

    1. Otwórz blok Magazyny kluczy i wybierz magazyn kluczy.
    2. Otwórz blok Sieć i przejdź do karty Zapory i sieci wirtualne.
    3. Jeśli opcja Zezwalaj na dostęp z jest ustawiona na Wartość Wyłącz dostęp publiczny, upewnij się, że wybrano opcję Zezwalaj na zaufane usługi firmy Microsoft obejście tej zapory.
    4. Wybierz pozycję Zapisz , aby zapisać wprowadzone zmiany.

    Firewall exception added for Key Vault

Włączanie kluczy zarządzanych przez klienta

Aby zaszyfrować bota przy użyciu klucza szyfrowania zarządzanego przez klienta, wykonaj następujące kroki:

  1. Otwórz blok zasobów usługi Azure Bot dla bota.

  2. Otwórz blok Szyfrowanie bota i wybierz pozycję Klucze zarządzane przez klienta dla typu szyfrowania.

  3. Wprowadź pełny identyfikator URI klucza, w tym wersję, lub kliknij pozycję Wybierz magazyn kluczy i klucz, aby znaleźć klucz .

  4. Kliknij pozycję Zapisz w górnej części bloku.

    Bot resource using customer-managed encryption

Po wykonaniu tych kroków usługa Azure AI Bot Service rozpocznie proces szyfrowania, co może potrwać do 24 godzin. Bot pozostaje funkcjonalny w tym okresie.

Rotacja kluczy zarządzanych przez klienta

Aby obrócić klucz szyfrowania zarządzany przez klienta, należy zaktualizować zasób usługi Azure AI Bot Service, aby użyć nowego identyfikatora URI dla nowego klucza (lub nowej wersji istniejącego klucza).

Ponieważ ponowne szyfrowanie przy użyciu nowego klucza odbywa się asynchronicznie, upewnij się, że stary klucz pozostaje dostępny, aby dane mogły być nadal odszyfrowywane; w przeciwnym razie bot może przestać działać. Należy zachować stary klucz przez co najmniej jeden tydzień.

Odwoływanie dostępu do kluczy zarządzanych przez klienta

Aby odwołać dostęp, usuń zasady dostępu dla jednostki usługi CMEK Prod usługi Bot Service z magazynu kluczy.

Uwaga

Cofnięcie dostępu spowoduje przerwanie większości funkcji skojarzonych z botem. Aby wyłączyć funkcję kluczy zarządzanych przez klienta, wyłącz tę funkcję przed cofnięciem dostępu, aby upewnić się, że bot będzie mógł kontynuować pracę.

Następne kroki

Dowiedz się więcej o usłudze Azure Key Vault