Szyfrowanie danych w usłudze Azure Data Lake Storage Gen1

Szyfrowanie w usłudze Azure Data Lake Storage Gen1 pomaga chronić dane, implementować zasady zabezpieczeń przedsiębiorstwa i spełniać wymagania zgodności z przepisami. Ten artykuł zawiera omówienie projektu i niektórych technicznych aspektów implementacji.

Data Lake Storage Gen1 obsługuje szyfrowanie danych magazynowanych i przesyłanych. W przypadku danych magazynowanych Data Lake Storage Gen1 obsługuje funkcję "domyślnie włączoną", przezroczystą szyfrowanie. Poniżej przedstawiono bardziej szczegółowe wyjaśnienie tych terminów:

  • Domyślnie: podczas tworzenia nowego konta Data Lake Storage Gen1 ustawienie domyślne włącza szyfrowanie. Następnie dane przechowywane w Data Lake Storage Gen1 są zawsze szyfrowane przed zapisaniem na nośniku trwałym. Takie działanie dotyczy wszystkich danych i nie można go zmienić po utworzeniu konta.
  • Przezroczyste: Data Lake Storage Gen1 automatycznie szyfruje dane przed utrwalaniem i odszyfrowuje dane przed pobraniem. Szyfrowanie jest konfigurowane i zarządzane na poziomie konta Data Lake Storage Gen1 przez administratora. W interfejsach API dostępu do danych nie są wprowadzane żadne zmiany. W związku z tym w aplikacjach i usługach, które współdziałają z Data Lake Storage Gen1 z powodu szyfrowania, nie są wymagane żadne zmiany.

Dane przesyłane (nazywane również danymi w ruchu) są również zawsze szyfrowane w Data Lake Storage Gen1. Oprócz tego, że dane są szyfrowane przed zapisaniem na nośniku trwałym, są również zawsze zabezpieczane podczas przesyłania przy użyciu protokołu HTTPS. HTTPS jest jedynym protokołem obsługiwanym przez interfejsy REST Data Lake Storage Gen1. Na poniższym diagramie przedstawiono sposób szyfrowania danych w Data Lake Storage Gen1:

Diagram szyfrowania danych w Data Lake Storage Gen1

Konfigurowanie szyfrowania przy użyciu Data Lake Storage Gen1

Szyfrowanie dla Data Lake Storage Gen1 jest konfigurowane podczas tworzenia konta i zawsze jest włączone domyślnie. Możesz samodzielnie zarządzać kluczami lub zezwolić Data Lake Storage Gen1 na zarządzanie nimi (jest to ustawienie domyślne).

Aby uzyskać więcej informacji, zobacz Wprowadzenie.

Jak działa szyfrowanie w usłudze Data Lake Storage Gen1

Poniższe informacje obejmują sposób zarządzania głównymi kluczami szyfrowania i wyjaśniają trzy różne typy kluczy, których można używać w szyfrowaniu danych na potrzeby Data Lake Storage Gen1.

Główne klucze szyfrowania

Data Lake Storage Gen1 zapewnia dwa tryby zarządzania głównymi kluczami szyfrowania (MEKs). Na razie załóżmy, że główny klucz szyfrowania jest kluczem najwyższego poziomu. Aby odszyfrować wszystkie dane przechowywane w Data Lake Storage Gen1, wymagany jest dostęp do głównego klucza szyfrowania.

Oto dwa tryby zarządzania głównym kluczem szyfrowania:

  • Klucze zarządzane przez usługę
  • Klucze zarządzane przez klienta

W obu trybach główny klucz szyfrowania jest zabezpieczony dzięki przechowywaniu go w usłudze Azure Key Vault. Key Vault to w pełni zarządzana, wysoce bezpieczna usługa platformy Azure, która może służyć do ochrony kluczy kryptograficznych. Aby uzyskać więcej informacji, zobacz temat Key Vault.

Oto krótkie porównanie możliwości oferowanych przez dwa tryby zarządzania głównymi kluczami szyfrowania.

Pytanie Klucze zarządzane przez usługę Klucze zarządzane przez klienta
W jaki sposób przechowywane są dane? Są zawsze szyfrowane przed zapisaniem. Są zawsze szyfrowane przed zapisaniem.
Gdzie jest przechowywany główny klucz szyfrowania? Key Vault Key Vault
Czy jakiekolwiek klucze szyfrowania są przechowywane poza usługą Key Vault? Nie Nie
Czy można pobrać główny klucz szyfrowania za pomocą usługi Key Vault? Nie. Po umieszczeniu głównego klucza szyfrowania w usłudze Key Vault można go używać tylko do szyfrowania i odszyfrowywania. Nie. Po umieszczeniu głównego klucza szyfrowania w usłudze Key Vault można go używać tylko do szyfrowania i odszyfrowywania.
Kto jest właścicielem wystąpienia usługi Key Vault i głównego klucza szyfrowania? Usługa Data Lake Storage Gen1 Ty jesteś właścicielem wystąpienia usługi Key Vault, które znajduje się w Twojej subskrypcji platformy Azure. Głównym kluczem szyfrowania w usłudze Key Vault można zarządzać programowo lub sprzętowo.
Czy można odwołać dostęp do klucza szyfrowania wieloskładnikowego dla usługi Data Lake Storage Gen1? Nie Tak. Listy kontroli dostępu można zarządzać w Key Vault i usuwać wpisy kontroli dostępu do tożsamości usługi dla usługi Data Lake Storage Gen1.
Czy można trwale usunąć główny klucz szyfrowania? Nie Tak. Jeśli usuniesz klucz szyfrowania wieloskładnikowego z Key Vault, dane na koncie Data Lake Storage Gen1 nie będą mogły zostać odszyfrowane przez nikogo, w tym usługę Data Lake Storage Gen1.

Jeśli przed usunięciem głównego klucza szyfrowania z usługi Key Vault jawnie utworzono jego kopię zapasową, to można go przywrócić i odzyskać dane. Jeśli jednak nie utworzono kopii zapasowej klucza szyfrowania przed usunięciem go z Key Vault, dane na koncie Data Lake Storage Gen1 nigdy nie mogą być odszyfrowywane.

Poza różnicą dotyczącą sposobu zarządzania głównym kluczem szyfrowania i wystąpieniem usługi Key Vault, w którym ten klucz się znajduje, pozostałe elementy projektu są takie same dla obu trybów.

Podczas wybierania trybu głównych kluczy szyfrowania należy pamiętać o następujących kwestiach:

  • Podczas aprowizowania konta Data Lake Storage Gen1 można wybrać, czy używać kluczy zarządzanych przez klienta, czy kluczy zarządzanych przez usługę.
  • Po aprowizacji konta Data Lake Storage Gen1 nie można zmienić trybu.

Szyfrowanie i odszyfrowywanie danych

W projekcie szyfrowania danych używane są trzy typy kluczy. Poniższa tabela zawiera podsumowanie:

Klucz Skrót Skojarzony z Lokalizacja magazynu Typ Uwagi
Główny klucz szyfrowania GKS Konto Data Lake Storage Gen1 Key Vault Asymetryczny Może on być zarządzany przez Data Lake Storage Gen1 lub Przez Ciebie.
Klucz szyfrowania danych KSD Konto Data Lake Storage Gen1 Magazyn trwały zarządzany przez usługę Data Lake Storage Gen1 Symetryczny Klucz szyfrowania danych jest szyfrowany przy użyciu głównego klucza szyfrowania. Na nośniku trwałym jest zapisywany zaszyfrowany klucz szyfrowania danych.
Klucz szyfrowania bloków KSB Blok danych Brak Symetryczny Klucz szyfrowania bloków jest tworzony na podstawie klucza szyfrowania danych i bloku danych.

Poniższy diagram przedstawia te koncepcje:

Klucze używane do szyfrowania danych

Pseudoalgorytm stosowany w przypadku odszyfrowywania pliku:

  1. Sprawdź, czy klucz szyfrowania dla konta Data Lake Storage Gen1 jest buforowany i gotowy do użycia.
    • Jeśli nie, odczytaj zaszyfrowany klucz szyfrowania danych z magazynu trwałego i prześlij go do usługi Key Vault w celu odszyfrowania. Odszyfrowany klucz szyfrowania danych zapisz w pamięci podręcznej. Jest on teraz gotowy do użycia.
  2. Dotyczy każdego bloku danych w pliku:
    • Odczytaj zaszyfrowany blok danych z magazynu trwałego.
    • Wygeneruj klucz szyfrowania bloków na podstawie klucza szyfrowania danych i zaszyfrowanego bloku danych.
    • Użyj klucza szyfrowania bloków w celu odszyfrowania danych.

Pseudoalgorytm stosowany w przypadku szyfrowania bloku danych:

  1. Sprawdź, czy klucz szyfrowania dla konta Data Lake Storage Gen1 jest buforowany i gotowy do użycia.
    • Jeśli nie, odczytaj zaszyfrowany klucz szyfrowania danych z magazynu trwałego i prześlij go do usługi Key Vault w celu odszyfrowania. Odszyfrowany klucz szyfrowania danych zapisz w pamięci podręcznej. Jest on teraz gotowy do użycia.
  2. Wygeneruj unikatowy klucz szyfrowania bloków dla bloku danych na podstawie klucza szyfrowania danych.
  3. Zaszyfruj blok danych przy użyciu klucza szyfrowania bloków, korzystając z algorytmu AES-256.
  4. Zapisz zaszyfrowany blok danych w magazynie trwałym.

Uwaga

Klucz szyfrowania danych jest zawsze przechowywany jako zaszyfrowany za pomocą głównego klucza szyfrowania na nośniku trwałym lub buforowany w pamięci.

Wymiana kluczy

W przypadku korzystania z kluczy zarządzanych przez klienta można wymienić główny klucz szyfrowania. Aby dowiedzieć się, jak skonfigurować konto Data Lake Storage Gen1 przy użyciu kluczy zarządzanych przez klienta, zobacz Wprowadzenie.

Wymagania wstępne

Podczas konfigurowania konta Data Lake Storage Gen1 wybrano użycie własnych kluczy. Po utworzeniu konta ta opcja nie może zostać zmieniona. W poniższych krokach przyjęto, że używasz kluczy zarządzanych przez klienta (tzn. wybrano własne klucze z usługi Key Vault).

Pamiętaj, że jeśli używasz domyślnych opcji szyfrowania, dane są zawsze szyfrowane przy użyciu kluczy zarządzanych przez Data Lake Storage Gen1. W tej opcji nie masz możliwości rotacji kluczy, ponieważ są one zarządzane przez Data Lake Storage Gen1.

Jak obracać klucz MEK w Data Lake Storage Gen1

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do wystąpienia Key Vault, które przechowuje klucze skojarzone z kontem Data Lake Storage Gen1. Wybierz pozycję Klucze.

    Zrzut ekranu usługi Key Vault

  3. Wybierz klucz skojarzony z kontem Data Lake Storage Gen1 i utwórz nową wersję tego klucza. Należy pamiętać, że Data Lake Storage Gen1 obecnie obsługuje tylko rotację kluczy do nowej wersji klucza. Wymiana na inny klucz nie jest obsługiwana.

    Zrzut ekranu okna Klucze z wyróżnionym przyciskiem Nowa wersja

  4. Przejdź do konta Data Lake Storage Gen1 i wybierz pozycję Szyfrowanie.

    Zrzut ekranu przedstawiający okno konta Data Lake Storage Gen1 z wyróżnionym szyfrowaniem

  5. Zostanie wyświetlony komunikat informujący o dostępności nowej wersji klucza. Kliknij pozycję Wymień klucz, aby zaktualizować klucz do nowej wersji.

    Zrzut ekranu przedstawiający okno Data Lake Storage Gen1 z wyróżnionym komunikatem i wyróżnionym kluczem rotacji

Ta operacja powinna zająć mniej niż dwie minuty i nie powinna powodować żadnego przestoju. Po zakończeniu operacji jest używana nowa wersja klucza.

Ważne

Po zakończeniu operacji rotacji kluczy stara wersja klucza nie jest już aktywnie używana do szyfrowania nowych danych. Mogą wystąpić przypadki, w których uzyskanie dostępu do starszych danych może wymagać starego klucza. Aby umożliwić odczytywanie takich starszych danych, nie należy usuwać starego klucza