Megosztás a következőn keresztül:


Hozzáférés-vezérlési és data lake-konfigurációk az Azure Data Lake Storage Gen2-ben

Ez a cikk segít felmérni és megérteni az Azure Data Lake Storage Gen2 hozzáférés-vezérlési mechanizmusait. Ezek a mechanizmusok közé tartozik az Azure szerepköralapú hozzáférés-vezérlése (RBAC) és a hozzáférés-vezérlési listák (ACL-ek). Az oktatóanyagban érintett témák köre:

  • Az Azure RBAC és az ACL-ek közötti hozzáférés kiértékelése
  • Hozzáférés-vezérlés konfigurálása ezen mechanizmusok egyikével vagy mindkettővel
  • Hozzáférés-vezérlési mechanizmusok alkalmazása a Data Lake implementációs mintáira

Alapszintű ismeretekre van szüksége a tárolókról, a biztonsági csoportokról, az Azure RBAC-ről és az ACL-ről. A vita keretei között a nyers, gazdagított és válogatott zónák általános data lake-struktúrájára hivatkozunk.

Ezt a dokumentumot az adathozzáférés-kezeléssel használhatja.

A beépített Azure RBAC-szerepkörök használata

Az Azure Storage két hozzáférési réteget biztosít: a szolgáltatáskezelést és az adatokat. Az előfizetéseket és a tárfiókokat a szolgáltatásfelügyeleti rétegen keresztül érheti el. Tárolók, blobok és egyéb adaterőforrások elérése az adatrétegen keresztül. Ha például a tárfiókok listáját szeretné az Azure-ból, küldjön egy kérést a felügyeleti végpontnak. Ha egy tárfiókban lévő fájlrendszerek, mappák vagy fájlok listáját szeretné megjeleníteni, küldjön egy kérést egy szolgáltatásvégpontnak.

A szerepkörök felügyeleti vagy adatréteg-hozzáférési engedélyeket tartalmazhatnak. Az Olvasó szerepkör írásvédett hozzáférést biztosít a felügyeleti réteg erőforrásaihoz, de nem olvasási hozzáférést az adatokhoz.

Az olyan szerepkörök, mint a Tulajdonos, a Közreműködő, az Olvasó és a Tárfiók közreműködője, lehetővé teszik, hogy egy biztonsági tag kezelje a tárfiókot. De nem biztosítanak hozzáférést az adott fiók adataihoz. Csak az adathozzáféréshez explicit módon definiált szerepkörök teszik lehetővé, hogy a biztonsági tagok hozzáférjenek az adatokhoz. Ezek a szerepkörök az Olvasó kivételével hozzáférést kapnak a tárkulcsokhoz az adatok eléréséhez.

Beépített felügyeleti szerepkörök

Az alábbiakban a beépített felügyeleti szerepkörök szerepelnek.

  • Tulajdonos: Minden kezelése, beleértve az erőforrásokhoz való hozzáférést is. Ez a szerepkör kulcshozzáférést biztosít.
  • Közreműködő: Az erőforrásokhoz való hozzáférés kivételével minden kezelése. Ez a szerepkör kulcshozzáférést biztosít.
  • Tárfiók közreműködője: A tárfiókok teljes felügyelete. Ez a szerepkör kulcshozzáférést biztosít.
  • Olvasó: Erőforrások olvasása és listázása. Ez a szerepkör nem biztosít kulcshozzáférést.

Beépített adatszerepkörök

Az alábbiakban a beépített adatszerepkörök szerepelnek.

A Storage Blob Data Owner egy olyan felügyelői szerepkör, amely teljes hozzáférést biztosít az összes mutációs művelethez. Ezek a műveletek magukban foglalják egy könyvtár vagy fájl tulajdonosának beállítását, valamint az olyan címtárak és fájlok ACL-jeit, amelyek nem azok. A felügyelői hozzáférés az egyetlen engedélyezett mód az erőforrás tulajdonosának módosítására.

Megjegyzés:

Az Azure RBAC-hozzárendelések propagálása és érvénybe lépése akár öt percet is igénybe vehet.

A hozzáférés kiértékelése

A rendszer az egyszerű biztonsági alapú engedélyezés során a következő sorrendben értékeli ki az engedélyeket. További információkért tekintse meg az alábbi ábrát.

  • Az Azure RBAC értékelése elsőként történik, és elsőbbséget élvez az ACL-hozzárendelésekkel szemben.
  • Ha a művelet teljes mértékben engedélyezve van az RBAC alapján, a rendszer egyáltalán nem értékeli ki az ACL-eket.
  • Ha a művelet nincs teljesen engedélyezve, a rendszer kiértékeli az ACL-eket.

További információ: Hogyan történik az engedélyek kiértékelése.

Megjegyzés:

Ez az engedélymodell csak az Azure Data Lake Storage-ra vonatkozik. Ez nem vonatkozik az általános célú vagy blobtárolókra, ha nincs engedélyezve hierarchikus névtér. Ez a leírás kizárja a megosztott kulcsot és az SAS hitelesítési módszereket. Emellett kizárja azokat a forgatókönyveket is, amelyekben a biztonsági tag a beépített Storage Blob-adattulajdonos szerepkörhöz van rendelve, amely szuperfelhasználói hozzáférést biztosít. Állítsa hamisra allowSharedKeyAccess , hogy az identitás naplózhassa a hozzáférést.

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

Az adott művelethez szükséges ACL-alapú engedélyekről további információt az Azure Data Lake Storage Gen2 hozzáférés-vezérlési listáiban talál.

Megjegyzés:

  • A hozzáférés-vezérlési listák csak az ugyanazon bérlőben lévő biztonsági tagokra vonatkoznak, beleértve a vendégfelhasználókat is.
  • A fürthöz csatolási engedéllyel rendelkező felhasználók Azure Databricks csatlakoztatási pontokat hozhatnak létre. Konfigurálja a csatlakoztatási pontot szolgáltatásnév hitelesítő adataival vagy a Microsoft Entra átengedési lehetőségével. A létrehozáskor a rendszer nem értékeli ki az engedélyeket. Az engedélyek akkor lesznek kiértékelve, ha egy művelet a csatlakoztatási pontot használja. A fürthöz csatolható felhasználók megpróbálhatják használni a csatlakoztatási pontot.
  • Amikor egy felhasználó létrehoz egy tábladefiníciót az Azure Databricksben vagy az Azure Synapse Analyticsben, olvasási hozzáféréssel kell rendelkeznie az alapul szolgáló adatokhoz.

Az Azure Data Lake Storage-hoz való hozzáférés konfigurálása

Hozzáférés-vezérlés beállítása az Azure Data Lake Storage-ban az Azure RBAC, ACL-ek vagy a kettő kombinációjának használatával.

Hozzáférés konfigurálása csak Az Azure RBAC használatával

Ha a tárolószintű hozzáférés-vezérlés elegendő, az Azure RBAC-hozzárendelések egyszerű felügyeleti megközelítést kínálnak az adatok védelméhez. Ajánlott hozzáférés-vezérlési listákat használni számos korlátozott adategységhez, vagy ha részletes hozzáférés-vezérlésre van szükség.

Hozzáférés konfigurálása csak ACL-ekkel

Az alábbiakban a hozzáférés-vezérlési listák a felhőalapú elemzések konfigurációs javaslatait sorolják fel.

Hozzáférés-vezérlési bejegyzéseket rendelhet hozzá egy biztonsági csoporthoz, nem pedig egyéni felhasználóhoz vagy szolgáltatásnévhez. További információ: Biztonsági csoportok használata egyéni felhasználók helyett.

Amikor felhasználókat ad hozzá vagy távolít el a csoportból, nem kell frissítenie a Data Lake Storage-t. A csoportok használata emellett csökkenti annak az esélyét, hogy fájlonként vagy mappánként túllépi a 32 hozzáférés-vezérlési bejegyzést. A négy alapértelmezett bejegyzés után csak 28 bejegyzés van még az engedély-hozzárendelésekhez.

Még csoportok használata esetén is számos hozzáférés-vezérlési bejegyzéssel rendelkezhet a címtárfa legfelső szintjein. Ez a helyzet akkor fordul elő, ha részletes engedélyekre van szükség a különböző csoportokhoz.

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

Hozzáférés konfigurálása az Azure RBAC és a hozzáférés-vezérlési listák használatával

A Storage Blob-adatok közreműködője és a Storage Blob-adatolvasó engedélyei nem a tárfiókhoz, hanem az adatokhoz biztosítanak hozzáférést. Hozzáférést a tárfiók vagy a tároló szintjén adhat meg. Ha a storage blobadatok közreműködője van hozzárendelve, az ACL-ek nem használhatók a hozzáférés kezelésére. Ahol a Storage Blob Data Reader van hozzárendelve, emelt szintű írási engedélyeket adhat az ACL-ek használatával. További információ: A hozzáférés kiértékelése.

Ez a megközelítés előnyben részesíti azokat a forgatókönyveket, ahol a felhasználók többségének olvasási hozzáférésre van szüksége, de csak néhány felhasználónak van szüksége írási hozzáférésre. A data lake-zónák különböző tárfiókok lehetnek, az adategységek pedig különböző tárolók lehetnek. A data lake-zónákat tárolók és mappák által képviselt adategységek jelölhetik.

Beágyazott hozzáférés-vezérlési listacsoport megközelítései

A beágyazott ACL-csoportok kétféleképpen használhatók.

1. lehetőség: A szülő végrehajtási csoportja

A fájlok és mappák létrehozása előtt kezdje egy szülőcsoporttal. Rendelje hozzá a csoport futtatási engedélyeit az alapértelmezetthez, és a tároló szintjén fér hozzá az ACL-ekhez. Ezután adja hozzá azokat a csoportokat, amelyek adathozzáférést igényelnek a szülőcsoporthoz.

Figyelmeztetés:

Ezt a mintát javasoljuk, ha rekurzív törléseket használ, és ehelyett használja a 2. lehetőséget: A hozzáférés-vezérlési lista más bejegyzéseket.

Ezt a technikát beágyazási csoportoknak nevezzük. A tagcsoport örökli a szülőcsoport engedélyeit, amely globális futtatási engedélyeket biztosít az összes tagcsoport számára. A tagcsoportnak nincs szüksége futtatási engedélyekre, mert ezek az engedélyek öröklődnek. A nagyobb beágyazás nagyobb rugalmasságot és rugalmasságot biztosíthat. Adja hozzá a csoportokat vagy automatizált feladatokat képviselő biztonsági csoportokat az adatelérési olvasó- és írócsoportokhoz.

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

2. lehetőség: A hozzáférés-vezérlési lista egyéb bejegyzése

Az ajánlott módszer az ACL másik bejegyzéskészletének használata a tárolóban vagy a gyökérben. Adja meg az alapértelmezett értékeket, és érje el az ACL-eket az alábbi képernyőn látható módon. Ez a megközelítés biztosítja, hogy a gyökérszintűtől a legalacsonyabb szintig az elérési út minden része rendelkezik futtatási engedélyekkel.

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

Ez a futtatási engedély lefelé propagálja a hozzáadott gyermekmappákat. Az engedély olyan mélységbe terjed, ahol a kívánt hozzáférési csoportnak olvasási és futtatási engedélyekre van szüksége. A szint a lánc legalsó részén található, ahogyan az az alábbi képernyőn látható. Ez a megközelítés hozzáférést biztosít a csoport számára az adatok olvasásához. A megközelítés hasonlóan működik az írási hozzáféréshez.

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

Az alábbi használati módok az ajánlott biztonsági minták az egyes data lake-zónákhoz:

  • A Raw csak egyszerű biztonsági nevek (SPN-ek) használatával engedélyezi az adatok elérését.
  • A bővített verziónak csak a biztonsági egyszerű nevek (SPN-k) használatával kell engedélyeznie az adatokhoz való hozzáférést.
  • A válogatottnak engedélyeznie kell a hozzáférést a biztonsági egyszerű nevek (SPN-k) és a felhasználónevek (UPN-ek) használatával.

Példaforgatókönyv a Microsoft Entra biztonsági csoportok használatára

A csoportok beállításának számos különböző módja van. Tegyük fel például, hogy rendelkezik egy címtárral /LogData , amely a kiszolgáló által létrehozott naplóadatokat tartalmazza. Az Azure Data Factory betölti az adatokat ebbe a mappába. A szolgáltatásmérnöki csapat egyes felhasználói naplókat töltenek fel, és kezelhetik a mappa többi felhasználóját. Az Azure Databricks-elemzési és adatelemzési munkaterület-fürtök elemezhetik a mappából származó naplókat.

A tevékenységek engedélyezéséhez hozzon létre egy LogsWriter csoportot és egy LogsReader csoportot. Rendelje hozzá a következő engedélyeket:

  • Adja hozzá a LogsWriter csoportot a címtár ACL-éhez /LogData engedélyekkel rwx .
  • Adja hozzá a LogsReader csoportot a címtár ACL-éhez /LogData engedélyekkel r-x .
  • Adja hozzá a Data Factory szolgáltatásnév-objektumát vagy felügyeltszolgáltatás-identitását (MSI) a LogsWriters csoporthoz.
  • Felhasználók hozzáadása a szolgáltatásmérnöki csapathoz.LogsWriter
  • Az Azure Databricks konfigurálva van a Microsoft Entra-átengedéshez az Azure Data Lake Store-ba.

Ha a szolgáltatásmérnöki csapat egy felhasználója átkerül egy másik csapatba, egyszerűen távolítsa el a felhasználót a LogsWriter csoportból.

Ha nem adta hozzá a felhasználót egy csoporthoz, hanem egy dedikált ACL-bejegyzést adott hozzá a felhasználóhoz, el kell távolítania az ACL-bejegyzést a /LogData címtárból. Emellett el kell távolítania a bejegyzést a könyvtár teljes könyvtárhierarchiájának összes alkönyvtárából és fájljából /LogData .

Az Azure Synapse Analytics adathozzáférés-vezérlése

Az Azure Synapse-munkaterület üzembe helyezéséhez egy Azure Data Lake Storage Gen2-fiókra van szükség. Az Azure Synapse Analytics több integrációs forgatókönyvhöz használja az elsődleges tárfiókot, és egy tárolóban tárolja az adatokat. A tároló apache Spark-táblákat és alkalmazásnaplókat tartalmaz egy úgynevezett /synapse/{workspaceName}mappában. A munkaterület egy tárolót is használ a telepített kódtárak kezeléséhez.

A munkaterület Azure Portalon keresztüli üzembe helyezése során adjon meg egy meglévő tárfiókot, vagy hozzon létre egy újat. A megadott tárfiók a munkaterület elsődleges tárfiókja. Az üzembe helyezési folyamat hozzáférést biztosít a munkaterület identitásának a megadott Data Lake Storage Gen2-fiókhoz a Storage Blob Data Közreműködő szerepkörrel.

Ha a munkaterületet az Azure Portalon kívül helyezi üzembe, manuálisan adja hozzá az Azure Synapse Analytics-munkaterület identitását a Storage Blob Data Közreműködő szerepkörhöz. Javasoljuk, hogy a tároló szintjén rendelje hozzá a Storage Blob Data Contributor szerepkört a minimális jogosultsági elv betartásához.

Amikor folyamatokat, munkafolyamatokat és jegyzetfüzeteket futtat a feladatokon keresztül, azok a munkaterület identitásengedély-környezetét használják. Ha a feladatok bármelyike a munkaterület elsődleges tárolójára olvas vagy ír, a munkaterület identitása a Tárolási blog adatszolgáltatója által megadott olvasási/írási engedélyeket használja.

Amikor a felhasználók szkriptek futtatásához vagy fejlesztéshez jelentkeznek be a munkaterületre, a felhasználó környezeti engedélyei olvasási/írási hozzáférést biztosítanak az elsődleges tárolóhoz.

Az Azure Synapse Analytics részletes adathozzáférési vezérlése hozzáférés-vezérlési listák használatával

A Data Lake hozzáférés-vezérlésének beállításakor egyes szervezetek részletes szintű hozzáférést igényelnek. Előfordulhat, hogy bizalmas adatokkal rendelkeznek, amelyeket a szervezet egyes csoportjai nem láthatnak. Az Azure RBAC csak a tárfiók és a tároló szintjén engedélyezi az olvasást és az írást. Az ACL-ekkel finomított hozzáférés-vezérlést állíthat be a mappában és a fájl szintjén, hogy lehetővé tegye az adatok adott csoportokhoz tartozó részhalmazának olvasását/írását.

Megfontolandó szempontok Spark-táblák használatakor

Amikor Apache Spark-táblákat használ a Spark-készletben, az létrehoz egy raktármappát. A mappa a munkaterület elsődleges tárolójának tárolójának gyökerében található:

synapse/workspaces/{workspaceName}/warehouse

Ha Apache Spark-táblákat szeretne létrehozni az Azure Synapse Spark-készletben, adjon írási engedélyt a Spark-táblát létrehozó parancsot futtató csoport raktármappájára . Ha a parancs egy folyamat aktivált feladatán fut végig, adjon írási engedélyt a munkaterület MSI-jének.

Ez a példa létrehoz egy Spark-táblát:

df.write.saveAsTable("table01")

További információ: Hozzáférés-vezérlés beállítása a synapse-munkaterülethez.

Az Azure Data Lake-hozzáférés összegzése

A data lake-hozzáférés kezelésének egyetlen megközelítése sem felel meg mindenkinek. A data lake egyik fő előnye, hogy súrlódásmentes hozzáférést biztosít az adatokhoz. A gyakorlatban a különböző szervezetek különböző szabályozási szinteket szeretnének, és szabályozni szeretnék az adataikat. Egyes szervezetek központi csapattal rendelkeznek a hozzáférési és kiépítési csoportok szigorú belső felügyelet mellett történő kezelésére. Más szervezetek agilisabbak, és decentralizált irányítással rendelkeznek. Válassza ki a szabályozási szintnek megfelelő megközelítést. A választás nem okozhat indokolatlan késést vagy súrlódást az adatokhoz való hozzáférésben.

Következő lépések