Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
- 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).
- 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).
- 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).
- 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.
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).