Szyfrowanie Azure Data Factory przy użyciu kluczy zarządzanych przez klienta

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Data Factory w usłudze Microsoft Fabric jest następną generacją Azure Data Factory z prostszą architekturą, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz integrować dane, zacznij od Fabric Data Factory. Istniejące obciążenia ADF można zaktualizować do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analiz w czasie rzeczywistym oraz raportowania.

Azure Data Factory szyfruje dane spoczynkowe, w tym definicje jednostek oraz wszelkie dane buforowane podczas wykonywania. Domyślnie dane są szyfrowane przy użyciu losowo wygenerowanego klucza zarządzanego Microsoft, który jest jednoznacznie przypisany do fabryki danych. Aby uzyskać dodatkowe gwarancje zabezpieczeń, możesz teraz włączyć funkcję Bring Your Own Key (BYOK) za pomocą funkcji kluczy zarządzanych przez klienta w Azure Data Factory. Po określeniu klucza zarządzanego przez klienta usługa Data Factory używa zarówno klucza systemu fabryki, jak i klucza cmK do szyfrowania danych klienta. Brak jednego z nich spowoduje odmowę dostępu do danych i fabryki.

Azure Key Vault jest wymagany do przechowywania kluczy zarządzanych przez klienta. Możesz utworzyć własne klucze i przechowywać je w magazynie kluczy lub użyć interfejsów API Azure Key Vault do wygenerowania kluczy. Magazyn kluczy i usługa Data Factory muszą znajdować się w tej samej dzierżawie Microsoft Entra i w tym samym regionie, ale mogą znajdować się w różnych subskrypcjach. Aby uzyskać więcej informacji na temat Azure Key Vault, zobacz Czym jest Azure Key Vault?

Informacje o kluczach zarządzanych przez klienta

Na poniższym diagramie pokazano, jak usługa Data Factory używa Microsoft Entra ID i Azure Key Vault do tworzenia żądań przy użyciu klucza zarządzanego przez klienta:

Diagram przedstawiający sposób działania kluczy zarządzanych przez klienta w Azure Data Factory.

Poniższa lista zawiera opis kroków numerowanych na diagramie:

  1. Administrator usługi Azure Key Vault przyznaje uprawnienia do kluczy szyfrowania zarządzanej tożsamości powiązanej z Data Factory.
  2. Administrator usługi Data Factory umożliwia funkcję klucza zarządzanego przez klienta w fabryce
  3. Usługa Data Factory używa tożsamości zarządzanej skojarzonej z fabryką do uwierzytelniania dostępu do Azure Key Vault za pośrednictwem Microsoft Entra ID
  4. Usługa Data Factory opakowuje klucz szyfrowania fabryki przy użyciu klucza klienta w Azure Key Vault
  5. W przypadku operacji odczytu/zapisu usługa Data Factory wysyła żądania do Azure Key Vault w celu odpakowywania klucza szyfrowania konta w celu wykonania operacji szyfrowania i odszyfrowywania

Istnieją dwa sposoby dodawania szyfrowania klucza zarządzanego przez klienta do fabryk danych. Jeden z nich jest w czasie tworzenia fabryki w portalu Azure, a drugi po utworzeniu fabryki w interfejsie użytkownika usługi Data Factory.

Wymagania wstępne — konfigurowanie Azure Key Vault i generowanie kluczy

Włącz miękkie usuwanie i nie czyść w Azure Key Vault

Użycie kluczy zarządzanych przez klienta w usłudze Data Factory wymaga ustawienia dwóch właściwości w Key Vault, Soft Delete i Do Not Purge. Te właściwości można włączyć przy użyciu programu PowerShell lub Azure CLI w nowym lub istniejącym magazynie kluczy. Aby dowiedzieć się, jak włączyć te właściwości w istniejącym magazynie kluczy, zobacz Zarządzanie odzyskiem w Azure Key Vault z opcją miękkiego usuwania i ochroną przed czyszczeniem

Jeśli tworzysz nową Azure Key Vault za pośrednictwem portalu Azure, Soft Delete i 1>Do Not Purge

Screenshot przedstawiający sposób włączania usuwania nietrwałego i ochrony przed przeczyszczania po utworzeniu Key Vault.

Udzielanie usłudze Data Factory dostępu do Azure Key Vault

Upewnij się, że Azure Key Vault i Azure Data Factory znajdują się w tej samej dzierżawie Microsoft Entra i w tym samym regionie. Możesz użyć zasad dostępu lub uprawnień kontroli dostępu:

  1. Polityka dostępu — w kluczu magazynu wybierz Zasady dostępu ->Dodaj zasady dostępu -> wyszukaj tożsamość zarządzaną Azure Data Factory i przyznaj uprawnienia Get, Unwrap Key oraz Wrap Key w rozwijanej liście uprawnień do tajnego klucza.

  2. Kontrola dostępu — Tożsamość zarządzana będzie potrzebować dwóch ról w kontroli dostępu: Key Vault użytkownik szyfrowania usługi kryptograficznej i Key Vault Tajny użytkownik. W skarbcu kluczy wybierz pozycję Kontrola dostępu (IAM) ->+ Dodaj ->Dodaj przypisanie roli. Wybierz jedną z ról, a następnie wybierz pozycję Dalej. W obszarze Members0 wybierz pozycję Managed identity a następnie Select members i wyszukaj tożsamość zarządzaną Azure Data Factory. Następnie wybierz pozycję Przejrzyj i przypisz. Powtórz dla drugiej roli.

Generowanie lub przekazywanie klucza zarządzanego przez klienta do Azure Key Vault

Możesz utworzyć własne klucze i przechowywać je w magazynie kluczy. Możesz też użyć interfejsów API Azure Key Vault do generowania kluczy. Tylko klucze RSA są obsługiwane w przypadku szyfrowania w usłudze Data Factory. Obsługiwany jest również moduł RSA-HSM. Aby uzyskać więcej informacji, zobacz Informacje o kluczach, wpisach tajnych i certyfikatach.

Zrzut ekranu przedstawiający sposób generowania klucza zarządzanego przez klienta.

Włączanie kluczy zarządzanych przez klienta

Po utworzeniu fabryki w interfejsie użytkownika usługi Data Factory

W tej sekcji przedstawiono proces dodawania szyfrowania za pomocą kluczy zarządzanych przez klienta w interfejsie użytkownika usługi Data Factory po utworzeniu fabryki.

Uwaga

Klucz zarządzany przez klienta można skonfigurować tylko w pustej fabryce danych. Fabryka danych nie może zawierać żadnych zasobów, takich jak połączone usługi, potoki i przepływy danych. Zaleca się włączenie klucza zarządzanego przez klienta bezpośrednio po utworzeniu fabryki.

Ważne

Takie podejście nie działa w przypadku zarządzanych fabryk z włączoną siecią wirtualną. Rozważ alternatywną trasę, jeśli chcesz zaszyfrować takie fabryki.

  1. Upewnij się, że zarządzana tożsamość usługi (MSI) fabryki danych ma uprawnienia Get, Unwrap Key i Wrap Key do Key Vault.

  2. Upewnij się, że usługa Data Factory jest pusta. Fabryka danych nie może zawierać żadnych zasobów, takich jak połączone usługi, potoki i przepływy danych. Na razie wdrożenie klucza zarządzanego przez klienta do fabryki, która nie jest pusta, wywoła błąd.

  3. Aby zlokalizować identyfikator URI klucza w portalu Azure, przejdź do Azure Key Vault i wybierz opcję Klucze. Wybierz żądany klucz, a następnie wybierz klucz, aby wyświetlić jego wersje. Wybierz wersję klucza, aby wyświetlić ustawienia

  4. Skopiuj wartość pola Identyfikator klucza, który zawiera identyfikator URI Oekran pobierania identyfikatora URI klucza z Key Vault.

  5. Uruchom portal Azure Data Factory i użyj paska nawigacyjnego po lewej stronie, przejdź do portalu zarządzania fabryką danych

  6. Wybierz ikonę Klucz zarządzany przez klientaZrzut ekranu przedstawiający sposób włączania klucza zarządzanego przez klienta w interfejsie użytkownika usługi Data Factory.

  7. Wprowadź identyfikator URI klucza zarządzanego przez klienta, który wcześniej skopiowałeś.

  8. Wybierz pozycję Zapisz i włączono szyfrowanie kluczy zarządzanych przez klienta dla usługi Data Factory

Podczas tworzenia fabryki w portalu Azure

W tej sekcji przedstawiono procedurę dodawania szyfrowania kluczy zarządzanych przez klienta w portalu Azure, podczas wdrażania fabryki.

Aby zaszyfrować fabrykę, usługa Data Factory musi najpierw pobrać klucz zarządzany przez klienta z Key Vault. Ponieważ wdrażanie środowiska fabrycznego jest nadal w toku, tożsamość usługi zarządzanej (MSI) nie jest jeszcze dostępna do uwierzytelniania za pomocą Key Vault. W związku z tym, aby użyć tego podejścia, klient musi przypisać zarządzaną tożsamość użytkownika (UA-MI) do fabryki danych. Założymy role zdefiniowane w UA-MI i uwierzytelnimy się za pomocą Key Vault.

Aby dowiedzieć się więcej na temat tożsamości zarządzanej przypisanej przez użytkownika, zobacz Typy tożsamości zarządzanych i Przypisanie roli dla tożsamości zarządzanej przypisanej przez użytkownika.

  1. Upewnij się, że tożsamość zarządzana przypisana przez użytkownika (UA-MI) ma Get, Unwrap Key i Wrap Key uprawnienia do Key Vault.

  2. Na karcie Advanced zaznacz pole wyboru Włączenie szyfrowania przy użyciu klucza zarządzanego przez klientaZrzut ekranu przedstawiający kartę Zaawansowane dla tworzenia fabryki danych w Azure Portal.

  3. Podaj adres URL klucza zarządzanego przez klienta przechowywanego w Key Vault

    Napiwek

    Jeśli nie przekażesz wersji klucza w adresie URL po ostatnim "/", na przykład: https://mykeyvault.vault.azure.net/keys/cmk/, to wersja domyślnie ustawiona będzie na najnowszą, jeśli w przyszłości klucz zostanie zaktualizowany.

    Obecnie jest to obsługiwane tylko przy użyciu portalu Azure.

  4. Wybierz odpowiednią tożsamość zarządzaną przypisaną przez użytkownika, aby uwierzytelnić się przy użyciu Azure Key Vault.

  5. Kontynuuj uruchamianie fabryki.

Aktualizowanie wersji klucza

Podczas tworzenia nowej wersji klucza zaktualizuj Data Factory, aby korzystała z nowej wersji:

  1. Znajdź identyfikator URI nowej wersji klucza za pośrednictwem portalu Azure Key Vault:

    1. Przejdź do Azure Key Vault i wybierz opcję Klucze.
    2. Wybierz żądany klucz, a następnie wybierz klucz, aby wyświetlić jego wersje.
    3. Wybierz kluczową wersję, aby wyświetlić ustawienia.
  2. Skopiuj wartość pola Identyfikator klucza, które zawiera URI.

  3. Uruchom portal Azure Data Factory, a następnie na pasku nawigacyjnym po lewej stronie wybierz portal zarządzania fabryką danych.

  4. Wybierz ustawienie Klucz zarządzany przez klienta .

  5. Proszę wprowadzić wcześniej skopiowany identyfikator URI klucza zarządzanego przez klienta.

  6. Wybierz pozycję Zapisz , a usługa Data Factory będzie teraz szyfrować przy użyciu nowej wersji klucza.

Użyj innego klucza

Aby zmienić klucz używany do szyfrowania w usłudze Data Factory, należy ręcznie zaktualizować ustawienia w Azure Data Factory:

  1. Znajdź identyfikator URI nowej wersji klucza za pośrednictwem portalu Azure Key Vault:

    1. Przejdź do Azure Key Vault i wybierz opcję Klucze.
    2. Wybierz żądany klucz, a następnie wybierz klucz, aby wyświetlić jego wersje.
    3. Wybierz kluczową wersję, aby wyświetlić ustawienia.
  2. Skopiuj wartość pola Identyfikator klucza, które zawiera URI.

  3. Uruchom portal Azure Data Factory, a następnie na pasku nawigacyjnym po lewej stronie wybierz portal zarządzania fabryką danych.

  4. Wybierz ustawienie Klucz zarządzany przez klienta .

  5. Wprowadź identyfikator URI dla pola, które skopiowałeś wcześniej.

  6. Wybierz pozycję Zapisz , a usługa Data Factory będzie teraz szyfrować przy użyciu nowej wersji klucza.

Wyłączanie kluczy zarządzanych przez klienta

Po włączeniu funkcji wybierania nie można usunąć dodatkowego kroku zabezpieczeń. Zawsze oczekujemy, że klucz dostarczony przez klienta będzie szyfrować fabrykę i dane.

Klucz zarządzany przez klienta oraz ciągła integracja i ciągłe wdrażanie

Domyślnie konfiguracja CMK (klucza zarządzanego przez klienta) nie jest uwzględniana w fabrycznie dostarczanym szablonie Azure Resource Manager (ARM). Aby uwzględnić ustawienia szyfrowania kluczy zarządzanych przez klienta w szablonie usługi ARM na potrzeby ciągłej integracji (CI/CD):

  1. Upewnij się, że fabryka jest w trybie Git
  2. Przejdź do portalu zarządzania, aby otworzyć sekcję klucza zarządzanego przez klienta
  3. Zaznacz opcję Uwzględnij w szablonie ARM

Zrzut ekranu przedstawiający uwzględnienie ustawienia klucza zarządzanego przez klienta w szablonie ARM.

Następujące ustawienia zostaną dodane w szablonie ARM. Te właściwości można sparametryzować w potokach ciągłej integracji i dostarczania, edytując konfigurację parametrów Azure Resource Manager

Zrzut ekranu przedstawiający dołączenie ustawienia klucza zarządzanego przez klienta w szablonie Azure Resource Manager.

Uwaga

Dodanie ustawienia szyfrowania do szablonów usługi ARM powoduje dodanie ustawienia na poziomie fabryki, które spowoduje zastąpienie innych ustawień na poziomie fabryki, takich jak konfiguracje usługi Git, w innych środowiskach. Jeśli te ustawienia są włączone w środowisku o podwyższonym poziomie dostępu, takim jak UAT lub PROD, zapoznaj się z Globalne parametry w CI/CD.

Zapoznaj się z samouczkami, aby dowiedzieć się więcej o korzystaniu z usługi Data Factory w dalszych scenariuszach.