Zabezpečení datového jezera s využitím Azure Synapse Analytics

Azure Synapse Analytics
Azure Data Lake Storage
Azure Virtual Network
Power BI

Tento článek popisuje proces návrhu, principy a technologické volby pro použití Azure Synapse k vytvoření zabezpečeného řešení Data Lakehouse. Zaměřujeme se na aspekty zabezpečení a klíčová technická rozhodnutí.

Apache®, Apache Spark® a logo plamene jsou registrované ochranné známky nebo ochranné známky nadace Apache Software Foundation v USA a/nebo v jiných zemích. Použití těchto značek nevyžaduje žádné doporučení Apache Software Foundation.

Architektura

Následující diagram znázorňuje architekturu řešení data lakehouse. Je navržená tak, aby řídila interakce mezi službami za účelem zmírnění bezpečnostních hrozeb. Řešení se budou lišit v závislosti na požadavcích na funkčnost a zabezpečení.

Diagram that shows the detailed architecture.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

Tok dat pro řešení je zobrazený v následujícím diagramu:

Diagram that shows the data flow in the solution.

  1. Data se nahrají ze zdroje dat do cílové zóny dat, a to buď do služby Azure Blob Storage, nebo do sdílené složky poskytované službou Azure Files. Data se nahrají pomocí dávkového nahrávacího programu nebo systému. Streamovaná data se zaznamenávají a ukládají ve službě Blob Storage pomocí funkce Capture ve službě Azure Event Hubs. Může existovat více zdrojů dat. Například několik různých továren může nahrát data o operacích. Informace o zabezpečení přístupu ke službě Blob Storage, sdíleným složkám a dalším prostředkům úložiště najdete v tématu Doporučení zabezpečení pro službu Blob Storage a plánování nasazení služby Azure Files.
  2. Příchod datového souboru aktivuje službu Azure Data Factory, která zpracuje data a uloží je do datového jezera v základní zóně dat. Nahrání dat do základní datové zóny v Azure Data Lake chrání před exfiltrací dat.
  3. Azure Data Lake ukládá nezpracovaná data získaná z různých zdrojů. Je chráněná pravidly brány firewall a virtuálními sítěmi. Blokuje všechny pokusy o připojení přicházející z veřejného internetu.
  4. Přijetí dat v datovém jezeře aktivuje kanál Azure Synapse nebo časovaná aktivační událost spustí úlohu zpracování dat. Apache Spark v Azure Synapse se aktivuje a spustí úlohu nebo poznámkový blok Sparku. Orchestruje také tok procesu dat v datovém jezeře. Kanály Azure Synapse převádějí data z bronzové zóny na stříbrnou zónu a potom na zlatou zónu.
  5. Úloha Sparku nebo poznámkový blok spouští úlohu zpracování dat. Ve Sparku se dá spustit také trénování dat nebo úloha trénování strojového učení. Strukturovaná data ve zlaté zóně se ukládají ve formátu Delta Lake .
  6. Bezserverový fond SQL vytvoří externí tabulky , které používají data uložená v Delta Lake. Bezserverový fond SQL poskytuje výkonný a efektivní dotazovací modul SQL a může podporovat tradiční uživatelské účty SQL nebo uživatelské účty Microsoft Entra.
  7. Power BI se připojí k bezserverovém fondu SQL a vizualizuje data. Vytvoří sestavy nebo řídicí panely pomocí dat v datovém jezeře.
  8. Datoví analytici nebo vědci se můžou přihlásit ke službě Azure Synapse Studio k:
    • Dále vylepšete data.
    • Analyzujte a získejte obchodní přehled.
    • Trénování modelu strojového učení
  9. Obchodní aplikace se připojují k bezserverovém fondu SQL a používají data k podpoře dalších požadavků na obchodní operace.
  10. Azure Pipelines spouští proces CI/CD, který automaticky sestaví, testuje a nasadí řešení. Je navržená tak, aby během procesu nasazení minimalizovala lidský zásah.

Komponenty

Toto jsou klíčové komponenty v tomto řešení data lakehouse:

Alternativy

  • Pokud potřebujete zpracování dat v reálném čase, můžete místo ukládání jednotlivých souborů do cílové zóny dat použít Apache Structured Streaming k příjmu datového proudu ze služby Event Hubs a jeho zpracování.
  • Pokud data mají složitou strukturu a vyžadují složité dotazy SQL, zvažte jejich uložení ve vyhrazeném fondu SQL místo bezserverového fondu SQL.
  • Pokud data obsahují mnoho hierarchických datových struktur , například mají velkou strukturu JSON, můžete je chtít uložit v Průzkumníku dat Azure Synapse.

Podrobnosti scénáře

Azure Synapse Analytics je univerzální datová platforma, která podporuje podnikové datové sklady, analýzu dat v reálném čase, kanály, zpracování dat časových řad, strojové učení a zásady správného řízení dat. Pro podporu těchto schopností integruje několik různých technologií, například:

  • Podnikové datové sklady
  • Bezserverové fondy SQL
  • Apache Spark
  • Pipelines
  • Data Explorer
  • Možnosti strojového učení
  • Jednotné řízení dat Purview

Diagram that shows Azure Synapse Analytics and its components, capabilities, and applications.

Tyto funkce otevírají mnoho možností, ale existuje mnoho technických možností, které je třeba provést, aby se infrastruktura bezpečně nakonfiguruje pro bezpečné použití.

Tento článek popisuje proces návrhu, principy a technologické volby pro použití Azure Synapse k vytvoření zabezpečeného řešení Data Lakehouse. Zaměřujeme se na aspekty zabezpečení a klíčová technická rozhodnutí. Řešení používá tyto služby Azure:

Cílem je poskytnout pokyny k vytvoření zabezpečené a nákladově efektivní platformy Data Lakehouse pro podnikové použití a zajištění bezproblémové a bezpečné spolupráce technologií.

Potenciální případy použití

Data Lakehouse je moderní architektura pro správu dat, která kombinuje nákladovou efektivitu, škálování a flexibilní funkce datového jezera s funkcemi správy dat a transakcí datového skladu. Data Lakehouse dokáže zvládnout obrovské množství dat a podporovat scénáře business intelligence a strojového učení. Může také zpracovávat data z různých datových struktur a zdrojů dat. Další informace najdete v tématu Co je Databricks Lakehouse?.

Mezi běžné případy použití řešení, které je popsáno tady, patří:

  • Analýza telemetrie Internetu věcí (IoT)
  • Automatizace inteligentních továren (pro výrobu)
  • Sledování spotřebitelských aktivit a chování (pro maloobchod)
  • Správa incidentů a událostí zabezpečení
  • Monitorování protokolů aplikací a chování aplikací
  • Zpracování a obchodní analýza částečně strukturovaných dat

Návrh na vysoké úrovni

Toto řešení se zaměřuje na postupy návrhu a implementace zabezpečení v architektuře. Bezserverový fond SQL, Apache Spark ve službě Azure Synapse, kanály Azure Synapse, Data Lake Storage a Power BI jsou klíčové služby používané k implementaci vzoru datového jezera.

Tady je architektura návrhu řešení vysoké úrovně:

Diagram that shows high-level data lakehouse solution design architecture.

Volba fokusu zabezpečení

Návrh zabezpečení jsme zahájili pomocí nástroje Modelování hrozeb. Nástroj nám pomohl:

  • Komunikujte se zúčastněnými stranami systému o potenciálních rizicích.
  • Definujte hranici důvěryhodnosti v systému.

Na základě výsledků modelování hrozeb jsme provedli následující oblasti zabezpečení, které jsou naší hlavní prioritou:

  • Řízení identit a přístupu
  • Ochrana sítě
  • Zabezpečení DevOps

Navrhli jsme změny funkcí zabezpečení a infrastruktury pro ochranu systému zmírněním klíčových bezpečnostních rizik identifikovaných s těmito hlavními prioritami.

Podrobnosti o tom, co by se mělo zkontrolovat a zvážit, najdete tady:

Plán ochrany sítě a prostředků

Jedním z klíčových principů zabezpečení v rámci architektury přechodu na cloud je princip nulová důvěra (Zero Trust): při navrhování zabezpečení pro libovolnou komponentu nebo systém snižte riziko, že útočníci rozšiřují přístup za předpokladu, že dojde k ohrožení jiných prostředků v organizaci.

Na základě výsledku modelování hrozeb řešení přijme doporučení nasazení mikro segmentace v nulové důvěryhodnosti a definuje několik hranic zabezpečení. Ochrana před exfiltrací dat Azure Virtual Network a Azure Synapse jsou klíčové technologie, které se používají k implementaci hranice zabezpečení za účelem ochrany datových prostředků a důležitých komponent.

Vzhledem k tomu, že se Azure Synapse skládá z několika různých technologií, musíme:

  • Identifikujte komponenty Synapse a souvisejících služeb, které se v projektu používají.

    Azure Synapse je univerzální datová platforma, která dokáže zvládnout mnoho různých potřeb zpracování dat. Nejprve se musíme rozhodnout, které komponenty v Azure Synapse se v projektu používají, abychom mohli naplánovat jejich ochranu. Musíme také určit, které další služby komunikují s těmito komponentami Azure Synapse.

    V architektuře datového jezera jsou klíčové komponenty:

    • Bezserverový SQL Azure Synapse
    • Apache Spark v Azure Synapse
    • Kanály Azure Synapse
    • Data Lake Storage
    • Azure DevOps
  • Definujte chování právní komunikace mezi komponentami.

    Musíme definovat povolené komunikační chování mezi komponentami. Chceme například, aby modul Spark komunikuje s vyhrazenou instancí SQL přímo, nebo chceme, aby komunikovat přes proxy server, jako je Azure Synapse Integrace Dat kanál nebo Data Lake Storage?

    Na základě principu nulová důvěra (Zero Trust) blokujeme komunikaci, pokud není potřeba interakce nijak ovlivnit. Například zablokujeme modul Sparku, který je v neznámém tenantovi, aby přímo komunikoval se službou Data Lake Storage.

  • Zvolte správné řešení zabezpečení, které vynucuje definované chování komunikace.

    V Azure může několik technologií zabezpečení vynutit definované chování komunikace služby. Ve službě Data Lake Storage můžete například použít seznam povolených IP adres k řízení přístupu k datovému jezeře, ale můžete také zvolit, které virtuální sítě, služby Azure a instance prostředků jsou povolené. Každá metoda ochrany poskytuje jinou ochranu zabezpečení. Vyberte si na základě obchodních potřeb a omezení prostředí. Konfigurace použitá v tomto řešení je popsaná v další části.

  • Implementujte detekci hrozeb a pokročilou obranu důležitých prostředků.

    Pro důležité prostředky je nejlepší implementovat detekci hrozeb a pokročilou obranu. Služby pomáhají identifikovat hrozby a aktivovat výstrahy, aby systém mohl uživatele informovat o porušení zabezpečení.

Zvažte následující techniky pro lepší ochranu sítíach

  • Nasazení hraničních sítí pro zajištění zón zabezpečení pro datové kanály

    Pokud úloha datového kanálu vyžaduje přístup k externím datům a cílové zóně dat, je nejlepší implementovat hraniční síť a oddělit ji kanálem extrakce, transformace a načítání (ETL).

  • Povolení Defenderu pro cloud pro všechny účty úložiště

    Defender for Cloud aktivuje výstrahy zabezpečení, když zjistí neobvyklé a potenciálně škodlivé pokusy o přístup k účtům úložiště nebo jejich zneužití. Další informace najdete v tématu Konfigurace Microsoft Defenderu pro úložiště.

  • Uzamčení účtu úložiště, aby se zabránilo škodlivému odstranění nebo změnám konfigurace

    Další informace najdete v tématu Použití zámku Azure Resource Manageru u účtu úložiště.

Architektura se sítí a ochranou prostředků

Následující tabulka popisuje definované chování komunikace a technologie zabezpečení zvolené pro toto řešení. Volby byly založeny na metodách probíraných v plánu ochrany sítě a prostředků.

Z (klient) Do (služba) Chování Konfigurace Notes
Internet Data Lake Storage Odepřít vše Pravidlo brány firewall – výchozí odepření Výchozí: Odepřít Pravidlo brány firewall – výchozí odepření
Kanál Azure Synapse / Spark Data Lake Storage Povolit (instance) Virtuální síť – spravovaný privátní koncový bod (Data Lake Storage)
Synapse SQL Data Lake Storage Povolit (instance) Pravidlo brány firewall – instance prostředků (Synapse SQL) Synapse SQL potřebuje přístup ke službě Data Lake Storage pomocí spravovaných identit.
Agent Azure Pipelines Data Lake Storage Povolit (instance) Pravidlo brány firewall – vybrané virtuální sítě
Koncový bod služby – Úložiště
Testování integrace
obejití: AzureServices (pravidlo brány firewall)
Internet Pracovní prostor Synapse Odepřít vše Pravidlo brány firewall
Agent Azure Pipelines Pracovní prostor Synapse Povolit (instance) Virtuální síť – privátní koncový bod Vyžaduje tři privátní koncové body (Dev, bezserverové SQL a vyhrazené SQL).
Spravovaná virtuální síť Synapse Internet nebo neautorizovaný tenant Azure Odepřít vše Virtuální síť – Ochrana před exfiltrací dat Synapse
Kanál Synapse / Spark Key Vault Povolit (instance) Virtuální síť – spravovaný privátní koncový bod (Key Vault) Výchozí: Odepřít
Agent Azure Pipelines Key Vault Povolit (instance) Pravidlo brány firewall – vybrané virtuální sítě
* Koncový bod služby – Key Vault
obejití: AzureServices (pravidlo brány firewall)
Azure Functions Bezserverový SQL Synapse Povolit (instance) Virtuální síť – privátní koncový bod (Bezserverový SQL Synapse)
Kanál Synapse / Spark Azure Monitor Povolit (instance) Virtuální síť – privátní koncový bod (Azure Monitor)

Například v plánu chceme:

  • Vytvořte pracovní prostor Azure Synapse se spravovanou virtuální sítí.
  • Zabezpečení výchozího přenosu dat z pracovních prostorů Azure Synapse pomocí ochrany před exfiltrací dat v pracovních prostorech Azure Synapse
  • Umožňuje spravovat seznam schválených tenantů Microsoft Entra pro pracovní prostor Azure Synapse.
  • Nakonfigurujte pravidla sítě tak, aby udělovali provoz do účtu úložiště z vybraných virtuálních sítí, přistupovali pouze k veřejným sítím a zakázali přístup k veřejné síti.
  • Pomocí spravovaných privátních koncových bodů připojte virtuální síť spravovanou službou Azure Synapse k datovému jezeře.
  • Pomocí instance prostředků můžete bezpečně připojit Azure Synapse SQL k datovému jezeře.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které můžete použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Zabezpečení

Informace o pilíři zabezpečení dobře navržená architektura naleznete v tématu Zabezpečení.

Identita a řízení přístupu

Systém obsahuje několik komponent. Každá z nich vyžaduje jinou konfiguraci správy identit a přístupu (IAM). Tyto konfigurace musí spolupracovat, aby poskytovaly zjednodušené uživatelské prostředí. Proto při implementaci správy identit a řízení přístupu používáme následující pokyny k návrhu.

  • Volba řešení identit pro různé vrstvy řízení přístupu

    • V systému existují čtyři různá řešení identit.
      • Účet SQL (SQL Server)
      • Instanční objekt (Microsoft Entra ID)
      • Spravovaná identita (Microsoft Entra ID)
      • Uživatelský účet (Microsoft Entra ID)
    • V systému jsou čtyři různé vrstvy řízení přístupu.
      • Vrstva přístupu k aplikacím: Zvolte řešení identit pro role ap.
      • Vrstva přístupu k Azure Synapse DB nebo tabulce: Zvolte řešení identity pro role v databázích.
      • Vrstva přístupu k externím prostředkům Azure Synapse: Zvolte řešení identit pro přístup k externím prostředkům.
      • Vrstva přístupu data Lake Storage: Zvolte řešení identity pro řízení přístupu k souborům v úložišti.

    Diagram that shows Azure Synapse Analytics and its capabilities.

    Zásadní součástí správy identit a řízení přístupu je volba správného řešení identit pro každou vrstvu řízení přístupu. Principy návrhu zabezpečení architektury Azure Well-Architected Framework navrhují použití nativních ovládacích prvků a řízení jednoduchosti. Proto toto řešení používá uživatelský účet Microsoft Entra koncového uživatele v aplikaci a vrstvách přístupu azure Synapse DB. Využívá nativní řešení IAM první strany a poskytuje jemně odstupňované řízení přístupu. Azure Synapse přistupuje k externí vrstvě prostředků a vrstvě přístupu Data Lake ke zjednodušení procesu autorizace používají spravovanou identitu v Azure Synapse.

  • Zvažte nejméně privilegovaný přístup.

    Základní princip nulová důvěra (Zero Trust) navrhuje poskytování přístupu k důležitým prostředkům za běhu a dostatek přístupu k důležitým prostředkům. V budoucnu se podívejte na Microsoft Entra Privileged Identity Management (PIM).

  • Ochrana propojené služby

    Propojené služby definují informace o připojení potřebné pro připojení služby k externím prostředkům. Je důležité zabezpečit konfigurace propojených služeb.

Vyhodnocení skóre zabezpečení a detekce hrozeb

K pochopení stavu zabezpečení systému používá řešení Microsoft Defender for Cloud k posouzení zabezpečení infrastruktury a zjišťování problémů se zabezpečením. Microsoft Defender for Cloud je nástroj pro správu stavu zabezpečení a ochranu před hrozbami. Může chránit úlohy spuštěné v Azure, hybridních a dalších cloudových platformách.

Diagram that shows Azure Synapse and its capabilities.

Když poprvé navštívíte stránky Defenderu pro cloud na webu Azure Portal, automaticky povolíte plán Defenderu for Cloud pro všechna předplatná Azure. Důrazně doporučujeme, abyste získali hodnocení a návrhy stavu zabezpečení cloudu. Microsoft Defender for Cloud vám poskytne skóre zabezpečení a některé pokyny k posílení zabezpečení pro vaše předplatná.

Diagram that shows Azure Synapse and its capabilities.

Pokud řešení potřebuje pokročilé možnosti správy zabezpečení a detekce hrozeb, jako je detekce a upozorňování podezřelých aktivit, můžete ochranu cloudových úloh povolit jednotlivě pro různé prostředky.

Optimalizace nákladů

Informace o pilíři optimalizace nákladů v architektuře dobře navržená architektura naleznete v tématu Optimalizace nákladů.

Klíčovou výhodou řešení Data Lakehouse je nákladová efektivita a škálovatelná architektura. Většina komponent v řešení používá fakturaci založenou na spotřebě a automaticky se škáluje. V tomto řešení jsou všechna data uložená ve službě Data Lake Storage. Platíte jenom za ukládání dat, pokud nespouštíte žádné dotazy ani nezpracovávejte data.

Ceny pro toto řešení závisí na využití následujících klíčových prostředků:

  • Bezserverový SQL Azure Synapse: Používejte fakturaci založenou na spotřebě a platíte jenom za to, co používáte.
  • Apache Spark v Azure Synapse: Používejte fakturaci založenou na spotřebě a platíte jenom za to, co používáte.
  • Kanály Azure Synapse: Používejte fakturaci založenou na spotřebě, platíte jenom za to, co používáte.
  • Azure Data Lakes: Používejte fakturaci založenou na spotřebě a platíte jenom za to, co používáte.
  • Power BI: Náklady jsou založené na tom, jakou licenci zakoupíte.
  • Private Link: Používejte fakturaci založenou na spotřebě, platíte jenom za to, co používáte.

Různá řešení ochrany zabezpečení mají různé režimy nákladů. Měli byste zvolit řešení zabezpečení na základě vašich obchodních potřeb a nákladů na řešení.

K odhadu nákladů na řešení můžete použít cenovou kalkulačku Azure.

Provozní dokonalost

Informace o pilíři efektivity provozu dobře navržená architektura naleznete v tématu Efektivita provozu.

Použití místního agenta kanálu s povolenou virtuální sítí pro služby CI/CD

Výchozí agent kanálu Azure DevOps nepodporuje komunikaci virtuální sítě, protože používá velmi široký rozsah IP adres. Toto řešení implementuje v virtuální síti agenta Azure DevOps v místním prostředí, aby procesy DevOps mohly hladce komunikovat s ostatními službami v řešení. Připojovací řetězec a tajné kódy pro spouštění služeb CI/CD jsou uložené v nezávislém trezoru klíčů. Během procesu nasazení přistupuje agent v místním prostředí k trezoru klíčů v základní zóně dat za účelem aktualizace konfigurací prostředků a tajných kódů. Další informace najdete v dokumentu Použití samostatných trezorů klíčů. Toto řešení také využívá škálovací sady virtuálních počítačů k zajištění automatického vertikálního navýšení a snížení kapacity modulu DevOps na základě úlohy.

Diagram that shows Azure Synapse Analytics and its capabilities.

Implementace kontroly zabezpečení infrastruktury a orientačního testování zabezpečení v kanálu CI/CD

Nástroj pro statickou analýzu pro kontrolu infrastruktury jako souborů kódu (IaC) může pomoct rozpoznat a zabránit chybným konfiguracím, které můžou vést k problémům se zabezpečením nebo dodržováním předpisů. Orientační testování zabezpečení zajišťuje, aby byla úspěšně povolena důležitá bezpečnostní opatření systému, která chrání před selháními nasazení.

  • Pomocí nástroje pro statickou analýzu můžete skenovat šablony infrastruktury jako kódu (IaC), abyste zjistili a zabránili chybným konfiguracím, které můžou vést k problémům se zabezpečením nebo dodržováním předpisů. Pomocí nástrojů, jako je Checkov nebo Terrascan , můžete zjišťovat a bránit rizikům zabezpečení.
  • Ujistěte se, že kanál CD správně zpracovává selhání nasazení. Veškeré selhání nasazení související s funkcemi zabezpečení by se mělo považovat za kritické selhání. Kanál by měl zkusit akci, která selhala, nebo by se mělo nasazení podržet.
  • Spuštěním orientačního testování zabezpečení ověřte bezpečnostní opatření v kanálu nasazení. Orientační testování zabezpečení, například ověření stavu konfigurace nasazených prostředků nebo testovacích případů, které prověřují kritické scénáře zabezpečení, může zajistit, aby návrh zabezpečení fungoval očekávaným způsobem.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

  • Ian Chen | Vedoucí hlavního softwarového inženýra
  • Jose Contreras | Hlavní softwarové inženýrství
  • Roy Chan | Hlavní správce softwarového inženýra

Další kroky