Řízení přístupu a konfigurace data Lake v Azure Data Lake Storage Gen2

Tento článek vám pomůže vyhodnotit a pochopit mechanismy řízení přístupu ve službě Azure Data Lake Storage Gen2. Mezi tyto mechanismy patří řízení přístupu na základě role (RBAC) Azure a seznamy řízení přístupu (ACL). Naučíte se tyto postupy:

  • Jak vyhodnotit přístup mezi azure RBAC a seznamy ACL
  • Jak nakonfigurovat řízení přístupu pomocí jednoho nebo obou těchto mechanismů
  • Jak použít mechanismy řízení přístupu na vzory implementace data Lake

Potřebujete základní znalosti kontejnerů úložiště, skupin zabezpečení, Azure RBAC a seznamů ACL. Abychom mohli diskutovat, odkazujeme na obecnou strukturu datového jezera nezpracovaných, obohacených a kurátorovaných zón.

Tento dokument můžete použít se správou přístupu k datům.

Použití předdefinovaných rolí Azure RBAC

Azure Storage má dvě vrstvy přístupu: správu služeb a data. K předplatným a účtům úložiště můžete přistupovat prostřednictvím vrstvy správy služeb. Přístup k kontejnerům, objektům blob a dalším datovým prostředkům prostřednictvím datové vrstvy Pokud například chcete získat seznam účtů úložiště z Azure, odešlete žádost do koncového bodu správy. Pokud chcete mít v účtu úložiště seznam systémů souborů, složek nebo souborů, odešlete žádost koncovému bodu služby.

Role můžou obsahovat oprávnění pro přístup ke správě nebo datové vrstvě. Role Čtenář uděluje přístup jen pro čtení k prostředkům vrstvy správy, ale ne ke čtení k datům.

Role, jako je Vlastník, Přispěvatel, Čtenář a Přispěvatel účtů úložiště, umožňují objekt zabezpečení spravovat účet úložiště. Neposkytují ale přístup k datům v daném účtu. Přístup k datům umožňuje přístup k datům pouze role explicitně definované objektem zabezpečení. Tyto role s výjimkou čtenáře získají přístup ke klíčům úložiště pro přístup k datům.

Předdefinované role správy

Následují předdefinované role správy.

  • Vlastník: Spravovat vše, včetně přístupu k prostředkům. Tato role poskytuje přístup ke klíči.
  • Přispěvatel: Umožňuje spravovat všechno kromě přístupu k prostředkům. Tato role poskytuje přístup ke klíči.
  • Přispěvatel účtu úložiště: Úplná správa účtů úložiště. Tato role poskytuje přístup ke klíči.
  • Čtenář: Čtení a výpis prostředků Tato role neposkytuje přístup ke klíči.

Předdefinované role dat

Následují předdefinované role dat.

  • Vlastník dat objektů blob úložiště: Úplný přístup k kontejnerům objektů blob a datům služby Azure Storage, včetně nastavení vlastnictví a správy řízení přístupu POSIX.
  • Přispěvatel dat objektů blob úložiště: Čtení, zápis a odstranění kontejnerů a objektů blob Služby Azure Storage
  • Čtenář dat objektů blob úložiště: Čtení a výpis kontejnerů a objektů blob služby Azure Storage

Vlastník dat objektů blob služby Storage je role superuživatele, která má udělen úplný přístup ke všem operacím ztlumení. Mezi tyto operace patří nastavení vlastníka adresáře nebo souboru a seznamů ACL pro adresáře a soubory, pro které nejsou vlastníkem. Přístup superuživatele je jediným autorizovaným způsobem, jak změnit vlastníka prostředku.

Poznámka

Rozšíření a provedení přiřazení Azure RBAC může trvat až pět minut.

Jak se vyhodnocuje přístup

Během autorizace založené na objektech zabezpečení systém vyhodnocuje oprávnění v následujícím pořadí. Další informace najdete v následujícím diagramu.

  • Azure RBAC se vyhodnocuje jako první a má přednost před všemi přiřazeními seznamu ACL.
  • Pokud je operace plně autorizovaná na základě RBAC, seznamy ACL se nevyhodnocují vůbec.
  • Pokud operace není plně autorizovaná, vyhodnotí se seznamy ACL.

Další informace najdete v tématu Jak se oprávnění vyhodnocují.

Poznámka

Tento model oprávnění se vztahuje pouze na Azure Data Lake Storage. Nevztahuje se na úložiště pro obecné účely ani úložiště objektů blob bez povoleného hierarchického oboru názvů. Tento popis vylučuje sdílené klíče a metody ověřování SAS. Kromě toho vylučuje scénáře, ve kterých je objekt zabezpečení přiřazen předdefinované roli Vlastník dat objektu blob služby Storage, která poskytuje přístup superuživatele. Nastavte allowSharedKeyAccess na false, aby byl přístup auditován identitou.

Diagram of a flow chart that shows how access is evaluated.

Další informace o oprávněních založených na seznamu ACL pro danou operaci najdete v tématu Seznamy řízení přístupu v Azure Data Lake Storage Gen2.

Poznámka

  • Seznamy řízení přístupu se vztahují pouze na objekty zabezpečení ve stejném tenantovi, včetně uživatelů typu host.
  • Každý uživatel s oprávněními pro připojení ke clusteru může vytvořit přípojné body Azure Databricks. Nakonfigurujte přípojný bod pomocí přihlašovacích údajů instančního objektu nebo možnosti předávání Microsoft Entra. Při vytváření se oprávnění nevyhodnocují. Oprávnění se vyhodnocují, když operace používá přípojný bod. Každý uživatel, který se může připojit ke clusteru, se může pokusit použít přípojný bod.
  • Když uživatel vytvoří definici tabulky v Azure Databricks nebo Azure Synapse Analytics, musí mít k podkladovým datům přístup pro čtení.

Konfigurace přístupu ke službě Azure Data Lake Storage

Nastavte řízení přístupu ve službě Azure Data Lake Storage pomocí Azure RBAC, seznamů ACL nebo kombinace obou.

Konfigurace přístupu pouze pomocí Azure RBAC

Pokud stačí řízení přístupu na úrovni kontejneru, přiřazení Azure RBAC nabízejí jednoduchý přístup ke správě dat. Doporučuje se používat seznamy řízení přístupu pro velký počet omezených datových prostředků nebo v případě, že potřebujete podrobné řízení přístupu.

Konfigurace přístupu pouze pomocí seznamů ACL

Níže jsou uvedeny seznamy doporučení pro řízení přístupu pro analýzy v cloudovém měřítku.

Přiřaďte položky řízení přístupu ke skupině zabezpečení, nikoli jednotlivým uživatelům nebo instančnímu objektu. Další informace najdete v tématu Použití skupin zabezpečení a jednotlivých uživatelů.

Když přidáte nebo odeberete uživatele ze skupiny, nemusíte provádět aktualizace data Lake Storage. Použití skupin také snižuje pravděpodobnost překročení 32 položek řízení přístupu na jeden soubor nebo seznam ACL složky. Po čtyřech výchozích položkách existuje pouze 28 zbývajících položek pro přiřazení oprávnění.

I když používáte skupiny, můžete mít mnoho položek řízení přístupu na nejvyšších úrovních stromu adresáře. K této situaci dochází v případě, že jsou vyžadována podrobná oprávnění pro různé skupiny.

Diagram that shows several security groups requiring access to three data products.

Konfigurace přístupu pomocí azure RBAC i seznamů řízení přístupu

Oprávnění Přispěvatel dat objektů blob služby Storage a Čtenář dat objektů blob úložiště poskytují přístup k datům, a ne k účtu úložiště. Přístup můžete udělit na úrovni účtu úložiště nebo na úrovni kontejneru. Pokud je přiřazený přispěvatel dat objektů blob služby Storage, nelze seznamy ACL použít ke správě přístupu. Pokud je čtenář dat objektů blob služby Storage přiřazený, můžete udělit zvýšená oprávnění k zápisu pomocí seznamů ACL. Další informace naleznete v tématu Jak se vyhodnocuje přístup.

Tento přístup upřednostňuje scénáře, kdy většina uživatelů potřebuje přístup ke čtení, ale jen několik uživatelů potřebuje přístup k zápisu. Zóny Data Lake můžou být různé účty úložiště a datové prostředky můžou být různé kontejnery. Zóny data lake mohou být reprezentovány kontejnery a datovými prostředky reprezentovanými složkami.

Přístupy ke skupině vnořených přístupů k seznamům řízení přístupu

Existují dva přístupy pro vnořené skupiny seznamů ACL.

Možnost 1: Nadřazená skupina spuštění

Než začnete vytvářet soubory a složky, začněte nadřazenou skupinou. Přiřaďte oprávnění ke spuštění této skupiny pro výchozí i přístupové seznamy ACL na úrovni kontejneru. Potom přidejte skupiny, které vyžadují přístup k datům k nadřazené skupině.

Upozorňující

Doporučujeme použít tento vzor, ve kterém máte rekurzivní odstranění a místo toho použít možnost 2: Seznam řízení přístupu další položky.

Tato technika se označuje jako vnořené skupiny. Členová skupina dědí oprávnění nadřazené skupiny, která poskytuje globální oprávnění ke spuštění pro všechny členské skupiny. Členová skupina nepotřebuje oprávnění ke spuštění, protože tato oprávnění jsou zděděná. Větší vnoření může poskytovat větší flexibilitu a flexibilitu. Přidejte skupiny zabezpečení, které představují týmy nebo automatizované úlohy, do skupin pro čtení a zápis dat.

Diagram that shows nested groups where global run includes data assets for readers and writers and includes analysis team and engineering jobs.

Možnost 2: Seznam řízení přístupu – další položka

Doporučeným přístupem je použít další položku seznamu ACL nastavenou v kontejneru nebo kořenovém adresáři. Zadejte výchozí hodnoty a přístup k seznamům ACL, jak je znázorněno na následující obrazovce. Tento přístup zajišťuje, že každá část cesty z kořenového adresáře na nejnižší úroveň má oprávnění ke spuštění.

Screen capture that shows the manage access dialog box with other highlighted and access and default selected.

Toto oprávnění ke spuštění se rozšíří směrem dolů do všech přidaných podřízených složek. Oprávnění se rozšíří do hloubky, do které zamýšlená přístupová skupina potřebuje oprávnění ke čtení a spuštění. Úroveň je v nejnižší části řetězce, jak je znázorněno na následující obrazovce. Tento přístup uděluje skupinový přístup ke čtení dat. Přístup funguje podobně pro přístup k zápisu.

Screen capture that shows the manage access dialog box with businessgrp 1 highlighted and access and default selected.

Pro každou zónu Data Lake se doporučují následující způsoby zabezpečení:

  • Nezpracované by měly povolit přístup k datům pouze pomocí hlavních názvů zabezpečení (SPN).
  • Rozšířené by mělo povolit přístup k datům pouze pomocí hlavních názvů zabezpečení (SPN).
  • Kurátorované by měly povolit přístup s hlavními názvy zabezpečení (SPN) i hlavními názvy uživatelů (UPN).

Ukázkový scénář použití skupin zabezpečení Microsoft Entra

Existuje mnoho různých způsobů, jak nastavit skupiny. Představte si například, že máte adresář s názvem /LogData , který obsahuje data protokolu generovaná vaším serverem. Azure Data Factory ingestuje data do této složky. Konkrétní uživatelé z technického týmu služby nahrají protokoly a spravují ostatní uživatele této složky. Clustery azure Databricks Analytics a pracovních prostorů datových věd můžou analyzovat protokoly z této složky.

Pokud chcete tyto aktivity povolit, vytvořte LogsWriter skupinu a LogsReader skupinu. Přiřaďte následující oprávnění:

  • LogsWriter Přidejte skupinu do seznamu ACL /LogData adresáře s oprávněnímirwx.
  • LogsReader Přidejte skupinu do seznamu ACL /LogData adresáře s oprávněnímir-x.
  • Přidejte objekt instančního objektu nebo identitu spravované služby (MSI) pro službu Data Factory do LogsWriters skupiny.
  • Přidejte do skupiny uživatele v technickém LogsWriter týmu služeb.
  • Služba Azure Databricks je nakonfigurovaná pro předávání Microsoft Entra do Azure Data Lake Store.

Pokud se uživatel v technickém týmu služeb přenese do jiného týmu, odeberte ho LogsWriter ze skupiny.

Pokud jste tohoto uživatele nepřidali do skupiny, ale místo toho jste pro tohoto uživatele přidali vyhrazenou položku seznamu ACL, budete muset tuto položku seznamu ACL z /LogData adresáře odebrat. Budete také muset odebrat položku ze všech podadresářů a souborů v celé hierarchii /LogData adresáře adresáře.

Řízení přístupu k datům Azure Synapse Analytics

Pokud chcete nasadit pracovní prostor Azure Synapse, vyžaduje účet Azure Data Lake Storage Gen2. Azure Synapse Analytics používá primární účet úložiště pro několik scénářů integrace a ukládá data do kontejneru. Kontejner obsahuje tabulky Apache Sparku a protokoly aplikací pod názvem /synapse/{workspaceName}složky . Pracovní prostor také používá kontejner pro správu knihoven, které instalujete.

Během nasazení pracovního prostoru prostřednictvím webu Azure Portal zadejte existující účet úložiště nebo vytvořte nový. Zadaný účet úložiště je primárním účtem úložiště pro pracovní prostor. Proces nasazení udělí identitě pracovního prostoru přístup k zadanému účtu Data Lake Storage Gen2 pomocí role Přispěvatel dat objektů blob služby Storage.

Pokud nasadíte pracovní prostor mimo azure Portal, přidejte identitu pracovního prostoru Azure Synapse Analytics ručně do role Přispěvatel dat objektů blob služby Storage. Doporučujeme přiřadit přispěvatel dat objektů blob služby Storage na úrovni kontejneru tak, aby dodržoval zásadu nejnižších oprávnění.

Při spouštění kanálů, pracovních postupů a poznámkových bloků prostřednictvím úloh používají kontext oprávnění identit pracovního prostoru. Pokud některé úlohy čtou nebo zapisují do primárního úložiště pracovního prostoru, identita pracovního prostoru použije oprávnění ke čtení a zápisu udělená prostřednictvím přispěvatele dat blogu o úložišti.

Když se uživatelé přihlásí k pracovnímu prostoru, aby mohli spouštět skripty nebo pro vývoj, oprávnění kontextu uživatele umožňují přístup pro čtení a zápis v primárním úložišti.

Podrobné řízení přístupu k datům v Azure Synapse Analytics pomocí seznamů řízení přístupu

Při nastavování řízení přístupu k data lake vyžadují některé organizace podrobný přístup na úrovni. Můžou mít citlivá data, která některé skupiny v organizaci nevidí. Azure RBAC umožňuje jen čtení nebo zápis na úrovni účtu úložiště a kontejneru. Pomocí seznamů ACL můžete nastavit jemně odstupňované řízení přístupu na úrovni složky a souboru, abyste povolili čtení a zápis u podmnožiny dat pro konkrétní skupiny.

Důležité informace o používání tabulek Sparku

Když ve fondu Sparku používáte tabulky Apache Sparku, vytvoří se složka skladu. Složka je v kořenovém adresáři kontejneru v primárním úložišti pracovního prostoru:

synapse/workspaces/{workspaceName}/warehouse

Pokud plánujete vytvořit tabulky Apache Sparku ve fondu Azure Synapse Spark, udělte oprávnění k zápisu do složky skladu pro skupinu, ve které je spuštěný příkaz, který vytvoří tabulku Sparku. Pokud příkaz prochází aktivovanou úlohu v kanálu, udělte msi pracovního prostoru oprávnění k zápisu.

Tento příklad vytvoří tabulku Sparku:

df.write.saveAsTable("table01")

Další informace najdete v tématu Jak nastavit řízení přístupu pro váš pracovní prostor Synapse.

Souhrn přístupu k Azure Data Lake

Přístup ke službě Data Lake není jediný, který by vyhovoval všem. Velkou výhodou datového jezera je poskytnutí bezproblémového přístupu k datům. V praxi chtějí různé organizace různé úrovně zásad správného řízení a kontrolu nad jejich daty. Některé organizace mají centralizovaný tým pro správu přístupu a zřizování skupin v rámci přísných interních kontrol. Jiné organizace jsou agilnější a mají decentralizovanou kontrolu. Zvolte přístup, který splňuje vaši úroveň zásad správného řízení. Vaše volba by neměla vést k zbytečným zpožděním nebo třením při získávání přístupu k datům.

Další kroky