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


Hozzáférés-vezérlési modell az Azure Data Lake Storage-ban

A Data Lake Storage a következő engedélyezési mechanizmusokat támogatja:

  • Megosztott kulcs engedélyezése
  • Közös hozzáférésű jogosultságkód (SAS) engedélyezése
  • Szerepköralapú hozzáférés-vezérlés (Azure RBAC)
  • Attribútumalapú hozzáférés-vezérlés (Azure ABAC)
  • Hozzáférés-vezérlési listák (ACL-ek)

A megosztott kulcs, a fiók SAS és a szolgáltatás SAS-engedélyezése hozzáférést biztosít egy felhasználóhoz (vagy alkalmazáshoz) anélkül, hogy identitást kellene használnia a Microsoft Entra-azonosítóban. Ezen hitelesítési formák esetén az Azure RBAC, az Azure ABAC és az ACL-ek hatástalanok. Az ACL-ek a felhasználó által delegált SAS-jogkivonatokra alkalmazhatók, mivel ezek a jogkivonatok a Microsoft Entra hitelesítő adataival vannak védve. Lásd: Megosztott kulcs és SAS-engedélyezés.

Az Azure RBAC és ACL egyaránt megköveteli, hogy a felhasználó (vagy alkalmazás) rendelkezzen identitással a Microsoft Entra ID-ben. Az Azure RBAC lehetővé teszi, hogy a "durva szemcsés" hozzáférést biztosítson a tárolófiók adataihoz, például olvasási vagy írási hozzáférést a tárolófiók összes adatához. Az Azure ABAC lehetővé teszi az RBAC-szerepkör-hozzárendelések finomítását feltételek hozzáadásával. Például olvasási vagy írási hozzáférést adhat egy adott címkével rendelkező tárfiók összes adatobjektumához. Az ACL-ek lehetővé teszik a "finomszemcsés" hozzáférés biztosítását, például írási hozzáférést egy adott könyvtárhoz vagy fájlhoz.

Ez a cikk az Azure RBAC-ről, az ABAC-ről és az ACL-ekről szól, valamint arról, hogy a rendszer hogyan értékeli őket együtt a tárfiók-erőforrások engedélyezési döntéseinek meghozatalához.

Szerepköralapú hozzáférés-vezérlés (Azure RBAC)

Az Azure RBAC szerepkör-hozzárendelésekkel engedélykészleteket alkalmaz a biztonsági tagokra. A biztonsági tagok olyan objektumok, amelyek a Microsoft Entra-azonosítóban definiált felhasználót, csoportot, szolgáltatásnevet vagy felügyelt identitást jelölik. Az engedélykészletek "durva szemcsés" hozzáférési szintet biztosíthatnak egy biztonsági tagnak, például olvasási vagy írási hozzáférést a tárfiók összes adatához vagy egy tároló összes adatához.

Az alábbi szerepkörök lehetővé teszik, hogy egy biztonsági tag hozzáférjen egy tárfiók adataihoz.

Szerepkör Leírás
Storage-blobadatok tulajdonosa Teljes hozzáférés a Blob Storage-tárolókhoz és -adatokhoz. Ez a hozzáférés lehetővé teszi, hogy a biztonsági tag beállítson egy elemet a tulajdonosnak, és módosítsa az összes elem ACL-jeit.
Storage blobadat-közreműködő A Blob Storage-tárolókhoz és blobokhoz való hozzáférés olvasása, írása és törlése. Ez a hozzáférés nem teszi lehetővé, hogy a biztonsági tag beállítsa egy elem tulajdonjogát, de módosíthatja a rendszerbiztonsági tag tulajdonában lévő elemek ACL-ét.
Storage-blobadatok olvasója Blobtárolók és blobok olvasása és listázása.

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ít hozzáférést a fiókon belüli adatokhoz. Ezek a szerepkörök (az Olvasó kivételével) azonban hozzáférhetnek a tárkulcsokhoz, amelyek különböző ügyféleszközökön használhatók az adatok eléréséhez.

Attribútumalapú hozzáférés-vezérlés (Azure ABAC)

Az Azure ABAC az Azure RBAC-re épít úgy, hogy adott műveletek kontextusában attribútumokon alapuló szerepkör-hozzárendelési feltételeket ad hozzá. A szerepkör-hozzárendelési feltétel egy további ellenőrzés, amelyet igény szerint hozzáadhat a szerepkör-hozzárendeléshez, hogy pontosabb hozzáférés-vezérlést biztosítson. Adott erőforrásokhoz való hozzáférést nem tagadhatja meg explicit módon feltételekkel.

Az Azure ABAC-nek az Azure Storage-hoz való hozzáférés szabályozására való használatával kapcsolatos további információkért lásd : Hozzáférés engedélyezése az Azure Blob Storage-hoz Azure-szerepkör-hozzárendelési feltételek használatával.

Hozzáférés-vezérlési lista (ACL-ek)

Az ACL-ek lehetővé teszik a könyvtárakhoz és fájlokhoz való "finomabb szemcsés" hozzáférés alkalmazását. Az ACL olyan engedélyszerkezet, amely ACL-bejegyzések sorozatát tartalmazza. Minden ACL-bejegyzés egy hozzáférési szinttel társítja a biztonsági tagot. További információ: Hozzáférés-vezérlési listák (ACL-ek) az Azure Data Lake Storage-ban.

Hogyan történik az engedélyek értékelése?

A rendszer a rendszerbiztonsági főkiszolgálón alapuló engedélyezés során az engedélyeket az alábbi ábrán látható módon értékeli ki.

data lake storage engedélyfolyamat

  1. Az Azure meghatározza, hogy létezik-e szerepkör-hozzárendelés az egyszerű felhasználóhoz.
    • Ha létezik szerepkör-hozzárendelés, a rendszer a következő kiértékeli a szerepkör-hozzárendelési feltételeket (2).
    • Ha nem, a rendszer a következő kiértékeli az ACL-eket (4).
  2. Az Azure meghatározza, hogy léteznek-e ABAC-szerepkör-hozzárendelési feltételek.
    • Ha nincsenek feltételek, a hozzáférés biztosított.
    • Ha vannak feltételek, a rendszer kiértékeli, hogy megfelelnek-e a kérésnek (3).
  3. Az Azure meghatározza, hogy az ABAC szerepkör-hozzárendelési feltételei megfelelnek-e a kérés attribútumainak.
    • Ha mindegyik egyezik, a hozzáférés biztosított.
    • Ha legalább az egyik nem egyezik meg, a rendszer a következő kiértékeli az ACL-eket (4).
  4. Ha a szerepkör-hozzárendelések és feltételek kiértékelése után a hozzáférés nem lett explicit módon megadva, a rendszer kiértékeli az ACL-eket.
    • Ha az ACL-ek engedélyezik a kért hozzáférési szintet, a hozzáférés biztosított.
    • Ha nem, a hozzáférés megtagadva.

Fontos

Mivel a hozzáférési engedélyeket a rendszer kiértékeli, nem használhat ACL-t a szerepkör-hozzárendelés és annak feltételei által már biztosított hozzáférés korlátozására. Ennek az az oka, hogy a rendszer először kiértékeli az Azure-szerepkör-hozzárendeléseket és -feltételeket, és ha a hozzárendelés megfelelő hozzáférési engedélyt ad, a rendszer figyelmen kívül hagyja az ACL-eket.

Az alábbi ábrán három gyakori művelet engedélyfolyamata látható: a címtár tartalmának felsorolása, egy fájl olvasása és egy fájl írása.

példa a Data Lake Storage engedélyfolyamatára

Engedélyek táblázat: Az Azure RBAC, az ABAC és az ACL kombinálása

Az alábbi táblázat bemutatja, hogyan kombinálhatja az Azure-szerepköröket, a feltételeket és az ACL-bejegyzéseket, hogy egy biztonsági tag végrehajthassa a Művelet oszlopban felsorolt műveleteket. Ez a táblázat egy olyan oszlopot jelenít meg, amely egy fiktív címtárhierarchia minden szintjét képviseli. Van egy oszlop a tároló gyökérkönyvtárához (/), egy Oregon nevű alkönyvtárhoz, egy Portland nevű Oregon könyvtár alkönyvtárához, valamint egy szövegfájlhoz a Portland könyvtárban Data.txt. Ezekben az oszlopokban az engedélyek megadásához szükséges ACL-bejegyzés rövid formátumú ábrázolásai jelennek meg. Ha a művelet végrehajtásához nincs szükség ACL-bejegyzésre, az oszlopban n/A (nem alkalmazható) jelenik meg.

Művelet Hozzárendelt Azure-szerepkör (feltételekkel vagy anélkül) / Oregon/ Portland/ Data.txt
Olvasási Data.txt Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó N.A. N.A. N.A. N.A.
Egyik sem --X --X --X R--
Hozzáfűzés a Data.txt Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó --X --X --X -W-
Egyik sem --X --X --X RW-
Data.txt törlése Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó --X --X -WX N.A.
Egyik sem --X --X -WX N.A.
Data.txt létrehozása/frissítése Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó --X --X -WX N.A.
Egyik sem --X --X -WX N.A.
Lista/ Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó N.A. N.A. N.A. N.A.
Egyik sem R-X N.A. N.A. N.A.
Lista /Oregon/ Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó N.A. N.A. N.A. N.A.
Egyik sem --X R-X N.A. N.A.
Lista /Oregon/Portland/ Storage Blob adattulajdonos N.A. N.A. N.A. N.A.
Storage blobadat-közreműködő N.A. N.A. N.A. N.A.
Storage Blob adatolvasó N.A. N.A. N.A. N.A.
Egyik sem --X --X R-X N.A.

Feljegyzés

Ha meg szeretné tekinteni egy tároló tartalmát az Azure Storage Explorerben, a biztonsági tagoknak Microsoft Entra-azonosítóval kell bejelentkezniük a Storage Explorerbe, és (legalább) olvasási hozzáféréssel (R-) kell rendelkezniük a tároló gyökérmappájához (\). Ez az engedélyszint lehetővé teszi számukra a gyökérmappa tartalmának listázását. Ha nem szeretné, hogy a gyökérmappa tartalma látható legyen, hozzárendelheti őket olvasói szerepkörhöz. Ezzel a szerepkörrel a fiókban lévő tárolókat listázhatják, a tároló tartalmát azonban nem. Ezután ACL-ek használatával hozzáférést adhat bizonyos könyvtárakhoz és fájlokhoz.

Biztonsági csoportok

Mindig a Microsoft Entra biztonsági csoportokat használja hozzárendelt tagként egy ACL-bejegyzésben. Ellen kell állnia annak a lehetőségnek, hogy közvetlenül rendeljen hozzá egyéni felhasználókat vagy szolgáltatásneveket. A struktúra használatával anélkül adhat hozzá és távolíthat el felhasználókat vagy szolgáltatásneveket, hogy újra kellene alkalmaznia az ACL-eket a teljes címtárstruktúrában. Ehelyett egyszerűen hozzáadhat vagy eltávolíthat felhasználókat és szolgáltatásneveket a megfelelő Microsoft Entra biztonsági csoportból.

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 /LogData nevű könyvtárral, amely a kiszolgáló által létrehozott naplóadatokat tárolja. Az Azure Data Factory (ADF) betölti az adatokat ebbe a mappába. A szolgáltatásmérnöki csapat egyes felhasználói feltöltik a naplókat, és kezelik a mappa többi felhasználóját, a különböző Databricks-fürtök pedig az adott mappából származó naplókat elemzik.

A tevékenységek engedélyezéséhez létrehozhat egy LogsWriter csoportot és egy LogsReader csoportot. Ezután a következőképpen rendelhet hozzá engedélyeket:

  • Adja hozzá a LogsWriter csoportot a /LogData könyvtár ACL-éhez engedélyekkelrwx.
  • Adja hozzá a LogsReader csoportot a /LogData könyvtár ACL-éhez engedélyekkelr-x.
  • Adja hozzá az ADF 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
  • Adja hozzá a Databricks szolgáltatásnév-objektumát vagy MSI-ját a LogsReader csoporthoz.

Ha a szolgáltatásmérnöki csapat egy felhasználója elhagyja a vállalatot, egyszerűen eltávolíthatja őket 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 könyvtárból. A bejegyzést a /LogData könyvtár teljes könyvtárhierarchiájában lévő összes alkönyvtárból és fájlból el kell távolítania.

Csoport létrehozásához és tagok hozzáadásához lásd : Alapszintű csoport létrehozása és tagok hozzáadása a Microsoft Entra-azonosítóval.

Fontos

Az Azure Data Lake Storage Gen2 a Microsoft Entra azonosítójától függ a biztonsági csoportok kezeléséhez. A Microsoft Entra ID azt javasolja, hogy egy adott biztonsági tag csoporttagsága 200-nál kevesebbre legyen korlátozva. Ez a javaslat a JSON webes jogkivonatok (JWT) korlátozásának köszönhető, amelyek a Microsoft Entra-alkalmazásokban biztosítják a biztonsági tagok csoporttagsági adatait. A korlát túllépése a Data Lake Storage Gen2 váratlan teljesítményproblémáihoz vezethet. További információ: Csoportjogcímek konfigurálása alkalmazásokhoz a Microsoft Entra ID használatával.

Az Azure-szerepkör-hozzárendelések és az ACL-bejegyzések korlátai

A csoportok használatával kisebb a valószínűsége, hogy túllépi az előfizetésenkénti szerepkör-kijelölések maximális számát és a fájlonként vagy könyvtáranként engedélyezett ACL-bejegyzések maximális számát. Az alábbi táblázat ezeket a korlátokat ismerteti.

Mechanizmus Hatókör Korlátok Támogatott engedélyszint
Azure RBAC-vel Tárfiókok, tárolók.
Erőforrásközi Azure-szerepkör-hozzárendelések előfizetés vagy erőforráscsoport szintjén.
4000 Azure-szerepkör-hozzárendelés egy előfizetésben Azure-szerepkörök (beépített vagy egyéni)
elülső keresztszalag Könyvtár, fájl Fájlonként és könyvtáronként 32 ACL-bejegyzés (gyakorlatilag 28 ACL-bejegyzés). A hozzáférési és az alapértelmezett ACL-ekre külön 32 ACL-bejegyzéses korlát vonatkozik. ACL-engedély

Megosztott kulcs és közös hozzáférésű jogosultságkód (SAS) engedélyezése

Az Azure Data Lake Storage támogatja a közös kulcs és SAS metódusokat is a hitelesítéshez.

Megosztott kulcs esetén a hívó hatékonyan kap "szuperfelhasználói" hozzáférést, ami azt jelenti, hogy teljes hozzáféréssel rendelkezik az összes erőforrás összes műveletéhez, beleértve az adatokat, a tulajdonos beállítását és az ACL-ek módosítását. Az ACL-ek nem vonatkoznak a megosztott kulcsú hitelesítést használó felhasználókra, mert nincs identitás társítva a hívóhoz, ezért a rendszerbiztonsági tagok engedélyalapú hitelesítése nem hajtható végre. Ugyanez érvényes a közös hozzáférésű jogosultságkódok (SAS) jogkivonatokra is, kivéve, ha felhasználó által delegált SAS-jogkivonatot használnak. Ebben az esetben az Azure Storage POSIX ACL-ellenőrzést végez az objektumazonosítón, mielőtt engedélyezi a műveletet, amíg az opcionális suoid paramétert használja. További információ: Felhasználói delegálási SAS létrehozása.

Következő lépések

A hozzáférés-vezérlési listákkal kapcsolatos további információkért tekintse meg az Azure Data Lake Storage hozzáférés-vezérlési listáit (ACL-eket).