Zagadnienia związane z zabezpieczeniami dla przenoszenia danych w usłudze Azure Data Factory

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano podstawową infrastrukturę zabezpieczeń, która umożliwia zabezpieczanie danych za pomocą usług przenoszenia danych w usłudze Azure Data Factory. Zasoby zarządzania usługi Data Factory są oparte na infrastrukturze zabezpieczeń platformy Azure i korzystają ze wszystkich możliwych środków zabezpieczeń oferowanych przez platformę Azure.

W ramach rozwiązania fabryki danych jest tworzony co najmniej jeden potok danych. Potok jest logicznym grupowaniem działań, które wspólnie wykonują zadanie. Te potoki znajdują się w regionie, w którym utworzono fabrykę danych.

Mimo że usługa Data Factory jest dostępna tylko w kilku regionach, usługa przenoszenia danych jest dostępna globalnie , aby zapewnić zgodność, wydajność i mniejsze koszty ruchu wychodzącego sieci.

Usługa Azure Data Factory, w tym środowisko Azure Integration Runtime i własne środowisko Integration Runtime, nie przechowuje żadnych danych tymczasowych, buforuj dane lub dzienniki z wyjątkiem połączonych poświadczeń usługi dla magazynów danych w chmurze, które są szyfrowane przy użyciu certyfikatów. Usługa Data Factory umożliwia tworzenie przepływów pracy opartych na danych w celu organizowania przenoszenia danych między obsługiwanymi magazynami danych oraz przetwarzania danych przy użyciu usług obliczeniowych w innych regionach lub w środowisku lokalnym. Można też monitorować przepływy pracy i zarządzać nimi przy użyciu zestawów SDK i usługi Azure Monitor.

Usługa Data Factory ma następujące certyfikaty:

Certyfikacja CSA STAR
ISO 20000-1:2011
ISO 22301:2012
ISO 27001:2013
ISO 27017:2015
ISO 27018:2014
ISO 9001:2015
SOC 1, 2, 3
HIPAA BAA
HITRUST

Jeśli interesuje Cię zgodność platformy Azure i sposób zabezpieczania własnej infrastruktury przez platformę Azure, odwiedź Centrum zaufania firmy Microsoft. Aby uzyskać najnowszą listę wszystkich ofert zgodności platformy Azure, zobacz : https://aka.ms/AzureCompliance.

W tym artykule zapoznamy się z zagadnieniami dotyczącymi zabezpieczeń w następujących dwóch scenariuszach przenoszenia danych:

  • Scenariusz chmury: w tym scenariuszu zarówno źródło, jak i miejsce docelowe są publicznie dostępne za pośrednictwem Internetu. Obejmują one usługi zarządzanego magazynu w chmurze, takie jak Azure Storage, Azure Synapse Analytics, Azure SQL Database, Azure Data Lake Store, Amazon S3, Amazon Redshift, usługi SaaS, takie jak Salesforce i protokoły internetowe, takie jak FTP i OData. Znajdź pełną listę obsługiwanych źródeł danych w obsługiwanych magazynach danych i formatach.
  • Scenariusz hybrydowy: w tym scenariuszu źródło lub miejsce docelowe znajduje się za zaporą lub wewnątrz lokalnej sieci firmowej. Lub magazyn danych znajduje się w sieci prywatnej lub sieci wirtualnej (najczęściej źródłowej) i nie jest publicznie dostępny. Serwery baz danych hostowane na maszynach wirtualnych również znajdują się w tym scenariuszu.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Scenariusze chmury

Zabezpieczanie poświadczeń magazynu danych

  • Przechowywanie zaszyfrowanych poświadczeń w zarządzanym magazynie usługi Azure Data Factory. Usługa Data Factory pomaga chronić poświadczenia magazynu danych, szyfrując je przy użyciu certyfikatów zarządzanych przez firmę Microsoft. Te certyfikaty są obracane co dwa lata (w tym odnawianie certyfikatów i migracja poświadczeń). Aby uzyskać więcej informacji na temat zabezpieczeń usługi Azure Storage, zobacz Omówienie zabezpieczeń usługi Azure Storage.
  • Przechowywanie poświadczeń w usłudze Azure Key Vault. Możesz również przechowywać poświadczenia magazynu danych w usłudze Azure Key Vault. Usługa Data Factory pobiera poświadczenia podczas wykonywania działania. Aby uzyskać więcej informacji, zobacz Przechowywanie poświadczeń w usłudze Azure Key Vault.

Centralny magazyn wpisów tajnych aplikacji w usłudze Azure Key Vault umożliwia kontrolowanie ich dystrybucji. Usługa Key Vault znacznie ogranicza prawdopodobieństwo przypadkowego ujawnienia wpisów tajnych. Zamiast przechowywać parametry połączenia w kodzie aplikacji można je przechowywać bezpiecznie w usłudze Key Vault. Twoje aplikacje mogą bezpiecznie uzyskiwać dostęp do potrzebnych informacji za pomocą identyfikatorów URI. Te identyfikatory URI umożliwiają aplikacjom pobranie określonych wersji wpisu tajnego. Nie ma potrzeby pisania kodu niestandardowego w celu ochrony żadnych informacji tajnych przechowywanych w usłudze Key Vault.

Szyfrowanie danych podczas przesyłania

Jeśli magazyn danych w chmurze obsługuje protokół HTTPS lub TLS, wszystkie transfery danych między usługami przenoszenia danych w usłudze Data Factory i magazynie danych w chmurze są za pośrednictwem bezpiecznego kanału HTTPS lub TLS.

Uwaga

Wszystkie połączenia z usługami Azure SQL Database i Azure Synapse Analytics wymagają szyfrowania (SSL/TLS), gdy dane są przesyłane do i z bazy danych. Podczas tworzenia potoku przy użyciu formatu JSON dodaj właściwość szyfrowania i ustaw ją na wartość true w parametry połączenia. W przypadku usługi Azure Storage możesz użyć protokołu HTTPS w parametry połączenia.

Uwaga

Aby włączyć szyfrowanie podczas przesyłania danych z bazy danych Oracle, wykonaj jedną z poniższych opcji:

  1. Na serwerze Oracle przejdź do obszaru Oracle Advanced Security (OAS) i skonfiguruj ustawienia szyfrowania, które obsługują szyfrowanie Triple-DES Encryption (3DES) i Advanced Encryption Standard (AES), zobacz tutaj , aby uzyskać szczegółowe informacje. Usługa ADF automatycznie negocjuje metodę szyfrowania tak, aby korzystała z tej, która jest konfigurowana w systemie operacyjnym podczas nawiązywania połączenia z bazą danych Oracle.
  2. W usłudze ADF możesz dodać element EncryptionMethod=1 w parametry połączenia (w połączonej usłudze). Spowoduje to użycie protokołu SSL/TLS jako metody szyfrowania. Aby to użyć, należy wyłączyć ustawienia szyfrowania inne niż SSL w systemie operacyjnym po stronie serwera Oracle, aby uniknąć konfliktu szyfrowania.

Uwaga

Używana wersja protokołu TLS to 1.2.

Szyfrowanie danych w spoczynku

Niektóre magazyny danych obsługują szyfrowanie danych magazynowanych. Zalecamy włączenie mechanizmu szyfrowania danych dla tych magazynów danych.

Azure Synapse Analytics

Funkcja Transparent Data Encryption (TDE) w usłudze Azure Synapse Analytics pomaga chronić przed zagrożeniem złośliwym działaniem, wykonując szyfrowanie i odszyfrowywanie danych magazynowanych w czasie rzeczywistym. To zachowanie jest niewidoczne dla klienta. Aby uzyskać więcej informacji, zobacz Zabezpieczanie bazy danych w usłudze Azure Synapse Analytics.

Azure SQL Database

Usługa Azure SQL Database obsługuje również funkcję Transparent Data Encryption (TDE), która pomaga chronić przed zagrożeniem złośliwym działaniem, wykonując szyfrowanie i odszyfrowywanie danych w czasie rzeczywistym bez konieczności wprowadzania zmian w aplikacji. To zachowanie jest niewidoczne dla klienta. Aby uzyskać więcej informacji, zobacz Transparent Data Encryption for SQL Database and Data Warehouse (Przezroczyste szyfrowanie danych dla usług SQL Database i Data Warehouse).

Azure Data Lake Store

Usługa Azure Data Lake Store zapewnia również szyfrowanie danych przechowywanych na koncie. Po włączeniu usługa Data Lake Store automatycznie szyfruje dane przed utrwalaniem i odszyfrowywaniem przed pobraniem, dzięki czemu jest niewidoczna dla klienta, który uzyskuje dostęp do danych. Aby uzyskać więcej informacji, zobacz Zabezpieczenia w usłudze Azure Data Lake Store.

Azure Blob Storage i Azure Table Storage

Usługi Azure Blob Storage i Azure Table Storage obsługują szyfrowanie usługi Storage (SSE), które automatycznie szyfruje dane przed utrwalone w magazynie i odszyfrowywać przed pobraniem. Aby uzyskać więcej informacji, zobacz Szyfrowanie usługi Azure Storage dla danych magazynowanych.

Amazon S3

Usługa Amazon S3 obsługuje szyfrowanie danych magazynowanych zarówno przez klienta, jak i serwer. Aby uzyskać więcej informacji, zobacz Ochrona danych przy użyciu szyfrowania.

Amazon Redshift

Usługa Amazon Redshift obsługuje szyfrowanie klastra dla danych magazynowanych. Aby uzyskać więcej informacji, zobacz Szyfrowanie bazy danych Amazon Redshift.

Salesforce

Usługa Salesforce obsługuje szyfrowanie platformy Shield, które umożliwia szyfrowanie wszystkich plików, załączników i pól niestandardowych. Aby uzyskać więcej informacji, zobacz Opis przepływu uwierzytelniania OAuth serwera sieci Web.

Scenariusze hybrydowe

Scenariusze hybrydowe wymagają zainstalowania własnego środowiska Integration Runtime w sieci lokalnej w sieci wirtualnej (Azure) lub wewnątrz wirtualnej chmury prywatnej (Amazon). Własne środowisko Integration Runtime musi mieć dostęp do lokalnych magazynów danych. Aby uzyskać więcej informacji na temat własnego środowiska Integration Runtime, zobacz Jak utworzyć i skonfigurować własne środowisko Integration Runtime.

self-hosted integration runtime channels

Kanał poleceń umożliwia komunikację między usługami przenoszenia danych w usłudze Data Factory i własnym środowiskiem Integration Runtime. Komunikacja zawiera informacje związane z działaniem. Kanał danych służy do przesyłania danych między lokalnymi magazynami danych a magazynami danych w chmurze.

Poświadczenia lokalnego magazynu danych

Poświadczenia mogą być przechowywane w fabryce danych lub przywoływalne przez fabrykę danych podczas wykonywania z usługi Azure Key Vault. Jeśli przechowujesz poświadczenia w usłudze Data Factory, zawsze jest on przechowywany w środowisku Integration Runtime hostowanym samodzielnie.

  • Lokalne przechowywanie poświadczeń. Jeśli bezpośrednio używasz polecenia cmdlet Set-AzDataFactoryV2LinkedService z wbudowanymi parametry połączenia i poświadczeniami w formacie JSON, połączona usługa jest szyfrowana i przechowywana w własnym środowisku Integration Runtime. W takim przypadku poświadczenia przepływają przez usługę zaplecza platformy Azure, która jest niezwykle bezpieczna, do maszyny integracji hostowanej samodzielnie, gdzie jest ona ostatecznie zaszyfrowana i przechowywana. Własne środowisko Integration Runtime używa interfejsu DPAPI systemu Windows do szyfrowania poufnych danych i informacji o poświadczeniach.

  • Przechowywanie poświadczeń w usłudze Azure Key Vault. Możesz również przechowywać poświadczenia magazynu danych w usłudze Azure Key Vault. Usługa Data Factory pobiera poświadczenia podczas wykonywania działania. Aby uzyskać więcej informacji, zobacz Przechowywanie poświadczeń w usłudze Azure Key Vault.

  • Przechowuj poświadczenia lokalnie bez przepływu poświadczeń za pośrednictwem zaplecza platformy Azure do własnego środowiska Integration Runtime. Jeśli chcesz szyfrować i przechowywać poświadczenia lokalnie w własnym środowisku Integration Runtime bez konieczności przepływu poświadczeń za pośrednictwem zaplecza fabryki danych, wykonaj kroki opisane w artykule Szyfrowanie poświadczeń dla lokalnych magazynów danych w usłudze Azure Data Factory. Wszystkie łączniki obsługują tę opcję. Własne środowisko Integration Runtime używa interfejsu DPAPI systemu Windows do szyfrowania poufnych danych i informacji o poświadczeniach.

  • Użyj polecenia cmdlet New-AzDataFactoryV2LinkedServiceEncryptedCredential, aby zaszyfrować połączone poświadczenia usługi i poufne informacje w połączonej usłudze. Następnie możesz użyć zwróconego kodu JSON (z elementem EncryptedCredential w parametry połączenia), aby utworzyć połączoną usługę przy użyciu polecenia cmdlet Set-AzDataFactoryV2LinkedService.

Porty używane podczas szyfrowania połączonej usługi w własnym środowisku Integration Runtime

Domyślnie po włączeniu dostępu zdalnego z intranetu program PowerShell używa portu 8060 na maszynie z własnym środowiskiem Integration Runtime na potrzeby bezpiecznej komunikacji. W razie potrzeby ten port można zmienić z programu Integration Runtime Configuration Manager na karcie Ustawienia:

Integration Runtime Configuration Manager's Settings tab

HTTPS port for the gateway

Szyfrowanie podczas transferu

Wszystkie transfery danych są przesyłane za pośrednictwem protokołu HTTPS bezpiecznego kanału i protokołu TLS za pośrednictwem protokołu TCP, aby zapobiec atakom typu man-in-the-middle podczas komunikacji z usługami platformy Azure.

Możesz również użyć sieci VPN protokołu IPSec lub usługi Azure ExpressRoute , aby dodatkowo zabezpieczyć kanał komunikacyjny między siecią lokalną a platformą Azure.

Usługa Azure Virtual Network to logiczna reprezentacja sieci w chmurze. Sieć lokalną można połączyć z siecią wirtualną, konfigurując sieć VPN PROTOKOŁU IPSec (lokacja-lokacja) lub ExpressRoute (prywatna komunikacja równorzędna).

W poniższej tabeli przedstawiono podsumowanie zaleceń dotyczących konfiguracji środowiska Integration Runtime obsługiwanych przez sieć i self-hosted na podstawie różnych kombinacji lokalizacji źródłowych i docelowych na potrzeby hybrydowego przenoszenia danych.

Element źródłowy Element docelowy Konfiguracja sieci Instalacja środowiska Integration Runtime
Lokalne Maszyny wirtualne i usługi w chmurze wdrożone w sieciach wirtualnych Sieć VPN protokołu IPSec (punkt-lokacja lub lokacja-lokacja) Własne środowisko Integration Runtime powinno być zainstalowane na maszynie wirtualnej platformy Azure w sieci wirtualnej.
Lokalne Maszyny wirtualne i usługi w chmurze wdrożone w sieciach wirtualnych ExpressRoute (prywatna komunikacja równorzędna) Własne środowisko Integration Runtime powinno być zainstalowane na maszynie wirtualnej platformy Azure w sieci wirtualnej.
Lokalne Usługi oparte na platformie Azure, które mają publiczny punkt końcowy ExpressRoute (komunikacja równorzędna firmy Microsoft) Własne środowisko Integration Runtime można zainstalować lokalnie lub na maszynie wirtualnej platformy Azure.

Na poniższych obrazach przedstawiono użycie własnego środowiska Integration Runtime do przenoszenia danych między lokalną bazą danych i usługami platformy Azure przy użyciu usługi ExpressRoute i sieci VPN IPSec (z usługą Azure Virtual Network):

Express Route

Use ExpressRoute with gateway

IPSec VPN

IPSec VPN with gateway

Konfiguracje zapory i konfigurowanie listy dozwolonych dla adresów IP

Uwaga

Może być konieczne zarządzanie portami lub skonfigurowanie listy dozwolonych domen na poziomie zapory firmowej zgodnie z wymaganiami odpowiednich źródeł danych. Ta tabela używa tylko usług Azure SQL Database, Azure Synapse Analytics i Azure Data Lake Store jako przykładów.

Uwaga

Aby uzyskać szczegółowe informacje na temat strategii dostępu do danych za pośrednictwem usługi Azure Data Factory, zobacz ten artykuł.

Wymagania dotyczące zapory dla sieci lokalnej/prywatnej

W przedsiębiorstwie zapora firmowa działa na centralnym routerze organizacji. Zapora systemu Windows działa jako demon na komputerze lokalnym, na którym zainstalowano własne środowisko Integration Runtime.

Poniższa tabela zawiera wymagania dotyczące portów wychodzących i domeny dla zapór firmowych:

Nazwy domen Porty wychodzące opis
*.servicebus.windows.net 443 Wymagane przez własne środowisko Integration Runtime do tworzenia interakcyjnego.
{datafactory}.{region}.datafactory.azure.net
lub *.frontend.clouddatahub.net
443 Wymagane przez własne środowisko Integration Runtime do nawiązania połączenia z usługą Data Factory.
W przypadku nowej utworzonej usługi Data Factory znajdź nazwę FQDN z własnego klucza środowiska Integration Runtime, który jest w formacie {datafactory}. {region}.datafactory.azure.net. W przypadku starej fabryki danych, jeśli nie widzisz nazwy FQDN w kluczu integracji hostowanej samodzielnie, zamiast tego użyj *.frontend.clouddatahub.net.
download.microsoft.com 443 Wymagane przez własne środowisko Integration Runtime do pobierania aktualizacji. Jeśli wyłączono automatyczną aktualizację, możesz pominąć konfigurowanie tej domeny.
*.core.windows.net 443 Używane przez własne środowisko Integration Runtime do nawiązywania połączenia z kontem usługi Azure Storage podczas korzystania z funkcji kopiowania etapowego.
*.database.windows.net 1433 Wymagane tylko w przypadku kopiowania z lub do usługi Azure SQL Database lub Azure Synapse Analytics i opcjonalnej w przeciwnym razie. Funkcja kopiowania etapowego umożliwia kopiowanie danych do usługi SQL Database lub Azure Synapse Analytics bez otwierania portu 1433.
*.azuredatalakestore.net
login.microsoftonline.com/<tenant>/oauth2/token
443 Wymagane tylko w przypadku kopiowania z usługi Azure Data Lake Store lub do usługi Azure Data Lake Store i opcjonalnej w przeciwnym razie.

Uwaga

Może być konieczne zarządzanie portami lub skonfigurowanie listy dozwolonych domen na poziomie zapory firmowej zgodnie z wymaganiami odpowiednich źródeł danych. Ta tabela używa tylko usług Azure SQL Database, Azure Synapse Analytics i Azure Data Lake Store jako przykładów.

Poniższa tabela zawiera wymagania dotyczące portów przychodzących zapory systemu Windows:

Porty wejściowe opis
8060 (TCP) Wymagane przez polecenie cmdlet szyfrowania programu PowerShell zgodnie z opisem w temacie Szyfrowanie poświadczeń dla lokalnych magazynów danych w usłudze Azure Data Factory oraz przez aplikację menedżera poświadczeń w celu bezpiecznego ustawiania poświadczeń dla lokalnych magazynów danych w własnym środowisku Integration Runtime.

Gateway port requirements

Konfiguracje adresów IP i konfigurowanie listy dozwolonych w magazynach danych

Niektóre magazyny danych w chmurze wymagają również zezwolenia na adres IP maszyny uzyskującej dostęp do magazynu. Upewnij się, że adres IP maszyny z własnym środowiskiem Integration Runtime jest dozwolony lub skonfigurowany odpowiednio w zaporze.

Następujące magazyny danych w chmurze wymagają zezwolenia na adres IP własnego środowiska Integration Runtime. Niektóre z tych magazynów danych domyślnie mogą nie wymagać listy dozwolonych.

Często zadawane pytania

Czy własne środowisko Integration Runtime może być współużytkowane w różnych fabrykach danych?

Tak. Więcej szczegółów można znaleźć tutaj.

Jakie są wymagania dotyczące portów dla własnego środowiska Integration Runtime do działania?

Własne środowisko Integration Runtime umożliwia nawiązywanie połączeń opartych na protokole HTTP w celu uzyskania dostępu do Internetu. Aby własne środowisko Integration Runtime nawiązało to połączenie, należy otworzyć porty wychodzące 443. Otwórz port przychodzący 8060 tylko na poziomie komputera (a nie na poziomie zapory firmowej) dla aplikacji menedżera poświadczeń. Jeśli usługa Azure SQL Database lub Azure Synapse Analytics jest używana jako źródło lub miejsce docelowe, musisz również otworzyć port 1433. Aby uzyskać więcej informacji, zobacz sekcję Konfiguracja zapory i lista dozwolonych dla adresów IP.

Aby uzyskać informacje na temat wydajności działania kopiowania w usłudze Azure Data Factory, zobacz Przewodnik dotyczący wydajności i dostrajania działania kopiowania.