Azure Synapse Analytics – nowe spojrzenie na bezpieczeństwo danych
Zintegrowany obszar roboczy Azure Synapse pomaga w obsłudze zabezpieczeń i ochrony danych w jednym miejscu dla wszystkich potrzeb związanych z jeziorem danych, analizą danych i magazynowaniem, ale wymaga także poznania nowych koncepcji. W GFT współpracując z instytucjami finansowymi na całym świecie, szczególną wagę przywiązujemy do aspektów bezpieczeństwa rozwiązań, które dostarczamy naszym klientom. Synapse Analytics to nowe, mile widziane narzędzie w tym obszarze.
Nowy portal Workspace
Pierwszą widoczną różnicą w porównaniu do innych usług jest to, że Synapse Analytics posiada wydzieloną przestrzeń roboczą, która zapewnia dostęp do kodu, notatników, SQL, potoków, paneli monitorowania i zarządzania. Portal jest dostępny w publicznym Internecie przy użyciu kontroli dostępu Azure AD w celu kontrolowania dostępu do dowolnego wystąpienia Synapse Analytics w dowolnej dzierżawie, do której mamy dostęp. Jednak Synapse Analytics wprowadza nowy sposób łączenia się z portalem z izolowanych od Internetu sieci lokalnych i biur przy użyciu usługi Private Link Hubs. W porównaniu do Private Links chroniących dostęp do usług i baz danych, rozwiązanie to służy do kierowania ruchu do portalu internetowego. W połączeniu z zasadami dostępu warunkowego usługi Azure AD nowy obszar roboczy Synapse Analytics można chronić za pomocą zasad sieci i uwierzytelniania.
W zakresie autoryzacji Synapse Analytics wprowadza nową koncepcję – Synapse Roles . To kolejna warstwa przypisywania ról w obszarze roboczym Analytics i elementach wewnętrznego obszaru roboczego. Tam są:
- Azure Roles – kontroluj dostęp do konfiguracji zasobów Azure Synapse Analytics w Azure Portal (konfiguracja, sieć, bezpieczeństwo, tworzenie pul, dzienniki diagnostyczne itp.). Nie ma wbudowanych ról specyficznych dla Synapse.
- Role Synapse — rozwiązane w portalu i interfejsie API Synapse, na przykład administrator Synapse Spark, wydawca artefaktów Synapse, użytkownik artefaktu Synapse, operator obliczeniowy Synapse i nie tylko. Role te można przypisać na poziomie obszaru roboczego, a także na poziomie pojedynczej puli Spark, środowiska Integration Runtime, połączonej usługi lub poświadczeń.
Szczegółowość przypisania ról pozwala na szczegółową kontrolę dostępu dla wszystkich administratorów, specjalistów wsparcia, a także analityków danych i programistów. Tworzenie niestandardowych ról Synapse nie jest obecnie obsługiwane, a większość ról Synapse jest w wersji zapoznawczej, co oznacza, że użytkownicy muszą być przygotowani na zmiany. Warto wspomnieć, że role te nie chronią dostępu do zbiorów danych w ADLS.
Zarządzana sieć
Usługa Azure Synapse Analytics to rozwiązanie PaaS, co jest najbardziej widoczne w przypadku korzystania z bezserwerowych pul SQL, pul platformy Spark i środowisk wykonawczych integracji. Część obliczeniowa platformy jest dostarczana przez firmę Microsoft i nigdy nie jest dostępna w ramach subskrypcji właścicieli. To samo dotyczy nawet bardziej „tradycyjnej” hurtowni danych z pulami SQL. W rezultacie w konfiguracji domyślnej Synapse Analytics będzie używać publicznych punktów końcowych do komunikacji i nie będzie mogła łączyć się z izolowanymi sieciami wirtualnymi.
W przypadku korzystania z usługi Synapse w środowisku wymagającym wyższych standardów izolacji sieci należy wziąć pod uwagę alternatywny model wdrażania z zarządzaną siecią wirtualną. Dzięki temu rozwiązaniu wszystkie komponenty Synapse (pule SQL, pule Spark i środowiska wykonawcze integracji) będą mogły używać zarządzanych prywatnych punktów końcowych do łączenia się z innymi usługami (bazami danych, kontami pamięci masowej), które umożliwiają dostęp wyłącznie za pośrednictwem prywatnych adresów IP. Włączenie dodatkowej ochrony przed eksfiltracją danych umożliwi wdrożenie środowisk wykonawczych Synapse w sieci wirtualnej w celu ciągłej komunikacji za pośrednictwem prywatnych punktów końcowych i zapobiegania dostępowi do jakichkolwiek zasobów zewnętrznych.
Warto wspomnieć, że zarządzana sieć wirtualna dla Synapse nie jest zwykłą siecią vNET. Istnieje w ramach zewnętrznej subskrypcji zarządzanej przez firmę Microsoft, do której użytkownicy nie mają dostępu. W rezultacie sieci nie można używać ani do komunikacji równorzędnej, ani do konfiguracji bramy VPN. Funkcja zarządzanego prywatnego punktu końcowego w Synapse utworzy prywatny punkt końcowy w sieci wirtualnej z panelu zarządzania Synapse.
Zarządzany prywatny punkt końcowy to inna funkcja niż prywatny punkt końcowy i różni się od prywatnego punktu końcowego i prywatnego centrum punktów końcowych.
- Zarządzany prywatny punkt końcowy – umożliwia środowisku wykonawczemu Synapse (na przykład Spark lub Integration Runtime) dostęp do usług na platformie Azure z ograniczonym dostępem (na przykład Azure SQL, konta magazynu),
- Prywatne połączenie punktu końcowego — umożliwia dostęp do pamięci masowej i środowiska wykonawczego Synapse (na przykład bezserwerowego lub udostępnianego SQL) z innych sieci wirtualnych. Nie różni się to od prywatnego punktu końcowego w dowolnej innej bazie danych PaaS na platformie Azure,
- Private Link Hub — umożliwia dostęp do portalu Synapse Workspace z sieci wewnętrznych.
Włączenie zarządzanej sieci wirtualnej i eksfiltracji danych uniemożliwi także instalowanie zewnętrznych bibliotek Spark z publicznych repozytoriów, co jest zwykle wymagane w celu spełnienia wymagań/problemów związanych z bezpieczeństwem.
Sieć zarządzana przez Synapse nie ma zastosowania do domyślnej usługi Azure Storage używanej przez Synapse. Do tego magazynu mają zastosowanie wszystkie standardowe mechanizmy ochrony sieci usługi Azure Storage, w tym korzystanie z łączy prywatnych, wyłączanie dostępu publicznego, wymuszanie protokołu TLS 1.2 i używanie tożsamości zarządzanych do autoryzacji.
Obecnie obszaru roboczego Synapse z zarządzaną siecią wirtualną nie można używać razem z łączem Azure Synapse dla Azure Cosmos DB.
Kontrola dostępu do danych
Kontrolowanie dostępu do zbiorów danych jest zwykle najbardziej skomplikowanym aspektem bezpieczeństwa w środowiskach heterogenicznych, w których wykorzystywane są różne narzędzia do obsługi rozwiązań w zakresie magazynowania i raportowania o znaczeniu krytycznym dla firmy, a także środowisk analityki i nauki o danych. Korzystanie z Synapse Workspace upraszcza ten proces, ponieważ tych samych kontrolek można używać w Azure Active Directory. Posiadanie scentralizowanego miejsca kontroli dostępu jest jednym z najważniejszych aspektów wymaganych do prawidłowej kontroli dostępu i atestacji.
- W przypadku dostępu SQL grupy usługi Azure AD mogą służyć do autoryzacji przy użyciu zintegrowanego uwierzytelniania zapewnianego przez usługę AAD zamiast kont lokalnych wewnętrznej bazy danych. Obiekty bazy danych (tabele, widoki itp.) obsługują kontrolę dostępu zgodną z modelem Microsoft SQL Server/Azure SQL,
- W przypadku Azure Data Lake kontrola dostępu opiera się na rolach Azure (Storage Blob Data Reader/Wwner/Contributor) oraz w funkcji Hierarchical Namespace, która pozwala na skonfigurowanie dostępu do odczytu i aktualizacji dla grup AAD na poziomie hierarchii katalogów, jak w systemie plików. Jest to unikalna cecha ADLS Gen2.
Podczas pracy z Azure Data Lake odbywa się proces przekazywania uwierzytelniania. Oznacza to, że dostęp do danych odbywa się przy użyciu głównej tożsamości i uprawnień użytkownika.
Poza tym obszar roboczy Azure Synapse ma swoją tożsamość zarządzaną przypisaną przez system. Tej tożsamości można używać do uzyskiwania dostępu bez hasła do zewnętrznych źródeł danych i obiektów docelowych dla potoków danych, a także do zewnętrznego magazynu Data Lake (alternatywnie do przekazywania uwierzytelniania). To, w połączeniu ze wspomnianymi wcześniej rolami Synapse na poziomie połączonych usług, pozwala na szczegółową kontrolę dostępu do danych również dla źródeł zewnętrznych.
Szyfrowanie
Podobnie jak prawie każde inne rozwiązanie do obsługi danych platformy Azure, Synapse Analytics obsługuje wbudowane szyfrowanie w stanie spoczynku za pomocą zarządzanych przez klienta kluczy szyfrowania. W przypadku usługi Azure Data Lake Storage klucze zarządzane przez klienta są dostarczane regularnie, podobnie jak w przypadku każdej zwykłej usługi Azure Storage poza Synapse. W przypadku obszaru roboczego Azure Synapse klucz dostarczony z magazynem kluczy będzie używany na potrzeby pul SQL, pul platformy Spark i środowisk wykonawczych Data Factory. W przypadku dedykowanych pul SQL funkcję przezroczystego szyfrowania danych można włączać i wyłączać indywidualnie dla każdej puli. Obszary robocze Synapse obsługują klucze RSA z kluczami o rozmiarze 2048 i 3072 bajtów.
Korzystanie z kluczy szyfrujących zarządzanych przez klienta wymaga wprowadzenia dodatkowych zasad firmy dotyczących rotacji kluczy i tworzenia kopii zapasowych. Takie zasady są zwykle ustanawiane w całej organizacji i nie różnią się one w przypadku usługi Azure Synapse Analytics.
Dedykowane pule SQL
Usługa Dedykowana pula SQL to usługa Azure SQL Warehouse o zmienionej nazwie, ze wszystkimi funkcjami zabezpieczeń już znanymi i udostępnionymi Azure SQL Database. Oprócz kontroli dostępu SQL i przezroczystego szyfrowania danych, Synapse zapewnia zaawansowane funkcje bezpieczeństwa:
- Azure Defender for SQL z narzędziem do oceny podatności , które udostępnia zautomatyzowane narzędzia do oceny bezpieczeństwa konfiguracji uprawnień i funkcji, a także ustawień bazy danych ze zintegrowanym widokiem w Azure Security Center,
- Data Discovery and Classification – silnik skanujący bazy danych w celu zidentyfikowania kolumn przechowujących potencjalnie wrażliwe dane, który zapewnia etykietowanie danych, kontrolę raportowania, a także obliczanie wrażliwości zestawu wyników w czasie rzeczywistym,
- Dynamiczne maskowanie danych umożliwia maskowanie kolumn w zestawach wyników dla użytkowników, którzy nie mają dostępu do poufnych danych, w tym imion i nazwisk, numerów kart kredytowych, adresów e-mail i niestandardowych typów danych.
Są to dobrze znane i sprawdzone zabezpieczenia, znane już administratorom baz danych Azure SQL z innych usług oferowanych przez Azure.
Integracyjne środowiska wykonawcze
Usługa Azure Synapse Analytics zawiera potoki danych znane z Azure Data Factory, w tym tę samą koncepcję środowisk wykonawczych integracji (z wyłączeniem środowiska SSIS IR). Możliwe jest użycie środowiska wykonawczego integracji Auto-Resolve, środowiska wykonawczego integracji platformy Azure, a także samodzielnego środowiska IR. W przypadku obszaru roboczego Synapse Analytics z włączoną obsługą sieci użycie funkcji automatycznego rozwiązywania IR nie ma zastosowania, ale usługa Azure IR zostanie automatycznie zintegrowana z zarządzaną siecią. Zapewni to opcję używania zarządzanych prywatnych punktów końcowych dla wszystkich potoków danych.
Integration Runtimes zapewni możliwość autoryzacji do usług połączonych przy użyciu tożsamości zarządzanej przez Synapse Analytics Workspace i działania w imieniu usługi. Mimo to możliwe są alternatywne metody używania Key Vault do przechowywania poufnych danych.
Ochrona przed utratą danych
Ochrona danych to nie tylko zapobieganie nieuprawnionemu dostępowi do danych, ale także ochrona przed utratą lub uszkodzeniem danych. W Synapse Analytics wszystkie dane mogą być przechowywane przy użyciu dwóch silników pamięci masowej: Azure Data Lake Storage Gen2 i dedykowanych pul SQL.
Ochrona danych w ADLS Gen2 opiera się na opcjach nadmiarowości Azure Storage:
- Magazyn strefowo nadmiarowy (ZRS) i magazyn geograficznie nadmiarowy (GRS ), które będą przechowywać nadmiarowe kopie danych w oddzielnych Strefach Dostępności lub regionach, aby uniknąć utraty danych w przypadku lokalnego centrum danych lub całej strefy lub regionu, przestoju,
- Rozszerzenia dostępu do odczytu zarówno dla strefowo nadmiarowych (ZRS-RA), jak i geograficznie nadmiarowych (GRS-RA), które umożliwiają również dostęp do danych w trybie tylko do odczytu w przypadku regionalnej lub strefowej awarii, poprawiając umowę SLA dotyczącą dostępności danych.
W przypadku danych przechowywanych w pulach udostępnionych SQL, automatycznie tworzona jest kopia zapasowa danych i przechowywana przez 7 dni w geograficznie nadmiarowym magazynie. Tej konfiguracji nie można modyfikować. Warto wspomnieć, że w nowoczesnej wielowarstwowej architekturze Data Lake warstwa hurtowni powinna być zaprojektowana w taki sposób, aby zawsze możliwe było odtworzenie z najwyższej warstwy Data Lake, przy jednoczesnym zapewnieniu strategii redundancji danych.
Ochrona kodu, notatników, metadanych i definicji potoków przed utratą polega na ustanowieniu odpowiedniej infrastruktury obejmującej integrację kodu, CI/CD i Git dla obszaru roboczego Synapse Analytics. Podobnie jak Data Factory, Synapse Analytics ma wbudowaną integrację Git dla Azure DevOps, a także GitHub, w tym serwer GitHub Enterprise. Jednym ze znanych ograniczeń jest to, że nawiązanie połączenia z prywatnie hostowanym Gitem, mającym wyłącznie prywatny adres IP, nie jest możliwe.
Streszczenie
Usługa Azure Synapse Analytics łączy wiele narzędzi do przechowywania i analizy danych z osadzonymi koncepcjami zabezpieczeń.
Mając jedną płaszczyznę kontroli, obszar roboczy ułatwia kontrolę bezpieczeństwa. Jednakże wszystkie aspekty dogłębnej ochrony pozostają takie same i należy je wziąć pod uwagę. Jak widać, kilka kluczowych decyzji strategicznych należy podjąć ostrożnie, dotyczących takich aspektów jak:
- Włączanie sieci zarządzanej,
- Włączenie ochrony przed eksfiltracją danych,
- Praca z prywatnymi punktami końcowymi,
- Korzystanie z kluczy szyfrujących zarządzanych przez klienta,
- Włączanie usługi Azure Defender dla udostępnionych pul SQL.
Jak zwykle włączenie dodatkowych funkcji bezpieczeństwa wiąże się z dodatkowymi kosztami i dodatkowym obciążeniem związanym z zarządzaniem. Decyzje muszą być poprzedzone analizą wpływu na działalność biznesową, która oceni utratę finansową, prawną i reputacyjną w przypadku uszkodzenia, utraty, naruszenia lub niedostępności danych. Znalezienie właściwej równowagi pomiędzy środkami bezpieczeństwa, kosztami, utrzymaniem i ryzykiem jest jednym z kluczowych aspektów, które należy wziąć pod uwagę przy przenoszeniu danych do chmury i powinno być realizowane wspólnie przez architektów, zespoły prawne i przedstawicieli biznesu.