Az Azure-szerepkör-hozzárendelési feltételek biztonsági szempontjai az Azure Blob Storage-ban
Az erőforrások Azure attribútumalapú hozzáférés-vezérléssel (Azure ABAC) történő teljes védelméhez az Azure-szerepkör-hozzárendelési feltételekben használt attribútumokat is védenie kell. Ha például a feltétel egy fájl elérési útján alapul, akkor ügyeljen arra, hogy a hozzáférés sérüljön, ha az egyszerű felhasználó korlátlan engedéllyel rendelkezik egy fájl elérési útjának átnevezéséhez.
Ez a cikk olyan biztonsági szempontokat ismertet, amelyeket figyelembe kell vennie a szerepkör-hozzárendelési feltételekben.
Fontos
Az Azure attribútumalapú hozzáférés-vezérlés (Azure ABAC) általánosan elérhető (GA) az Azure Blob Storage, az Azure Data Lake Storage Gen2 és az Azure Queues szolgáltatáshoz request
való hozzáférés szabályozásához a resource
environment
standard és principal
a prémium szintű tárfiókok teljesítményszintjeiben egyaránt. Jelenleg a tároló metaadat-erőforrásattribútuma és a listablobok kérelemattribútuma előzetes verzióban érhető el. Az Azure Storage-hoz készült ABAC szolgáltatásállapotával kapcsolatos teljes információkért tekintse meg az Azure Storage feltételfunkcióinak állapotát.
A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Egyéb engedélyezési mechanizmusok használata
A szerepkör-hozzárendelési feltételek kiértékelése csak akkor történik meg, ha az Azure RBAC-t használja engedélyezésre. Ezek a feltételek megkerülhetők, ha alternatív engedélyezési módszerekkel engedélyezi a hozzáférést:
- Megosztott kulcs engedélyezése
- Fiók közös hozzáférésű jogosultságkódja (SAS)
- Szolgáltatási SAS.
Hasonlóképpen, a feltételek nem lesznek kiértékelve, ha a hozzáférés hozzáférés-vezérlési listákkal (ACL-ekkel) van megadva hierarchikus névtérrel (HNS) rendelkező tárfiókokban.
A tárfiók megosztott kulcsának engedélyezésének letiltásával megakadályozhatja a megosztott kulcsok, a fiókszintű SAS és a szolgáltatásszintű SAS-engedélyezést. Mivel a felhasználói delegálási SAS az Azure RBAC-től függ, a szerepkör-hozzárendelési feltételek kiértékelése az engedélyezési módszer használatakor történik.
A feltételekben használt tárolási attribútumok biztonságossá tétele
Blob elérési útja
Ha a blob elérési útját @Resource attribútumként használja egy feltételhez, akkor azt is meg kell akadályoznia, hogy a felhasználók hierarchikus névtérrel rendelkező fiókok használatakor a blobok átnevezésével hozzáférjenek egy fájlhoz. Ha például blobútvonalon alapuló feltételt szeretne létrehozni, korlátoznia kell a felhasználó hozzáférését a következő műveletekhez:
Művelet | Leírás |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action |
Ez a művelet lehetővé teszi, hogy az ügyfelek átnevezjenek egy fájlt a Path Create API használatával. |
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Ez a művelet lehetővé teszi a különböző fájlrendszer- és elérésiút-műveletek elérését. |
Blobindex-címkék
A blobindexcímkék szabad formátumú attribútumokként használhatók a tárolási feltételekhez. Ha a címkék használatával bármilyen hozzáférési feltételt meg kell adnia, akkor maguknak a címkéknek is védenie kell őket. A DataAction lehetővé teszi a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
felhasználók számára, hogy módosítsák a címkéket egy tárobjektumon. Korlátozhatja ezt a műveletet, hogy megakadályozza a felhasználókat abban, hogy egy címkekulcsot vagy értéket módosítva jogosulatlan objektumokhoz férhessenek hozzá.
Emellett, ha a blobindexcímkéket feltételek között használják, az adatok sebezhetők lehetnek, ha az adatok és a kapcsolódó indexcímkék külön műveletekben frissülnek. A blobírási műveletek feltételeivel megkövetelheti @Request
, hogy az indexcímkék ugyanabban a frissítési műveletben legyenek beállítva. Ez a módszer segíthet az adatok védelmében a tárolóba való írás pillanatától kezdve.
Címkék másolt blobokon
Alapértelmezés szerint a blobindexcímkék nem lesznek átmásolva egy forrásblobból a célhelyre a Blob API másolása vagy bármely változatának használatakor. A blobok hozzáférési hatókörének másoláskor történő megőrzéséhez a címkéket is át kell másolnia.
Pillanatképek címkéi
A blob-pillanatképek címkéi nem módosíthatók. Ezért a pillanatkép készítése előtt frissítenie kell a címkéket egy blobon. Ha egy alapblob címkéit módosítja, a pillanatképen lévő címkék továbbra is a korábbi értékükkel rendelkeznek.
Ha egy alapblob címkéje a pillanatkép készítése után módosul, a hozzáférés hatóköre eltérő lehet az alapblob és a pillanatkép esetében.
Blobverziók címkéi
A blobindexek címkéi nem lesznek másolva, ha blobverziót hoz létre a Blob elhelyezése, a Blokklista elhelyezése vagy a Blob api-k másolása szolgáltatással. A címkéket az API-k fejlécén keresztül adhatja meg.
A címkék egyenként állíthatók be az aktuális alapblobokon és az egyes blobverziókon. Ha egy alapblob címkéit módosítja, a korábbi verziók címkéi nem frissülnek. Ha címkékkel szeretné módosítani a blobok és azok összes verziójának hozzáférési hatókörét, minden verzión frissítenie kell a címkéket.
Verziók és pillanatképek lekérdezési és szűrési korlátozásai
Ha címkéket használ a tárolóban lévő blobok lekérdezéséhez és szűréséhez, a válasz csak az alapblobokat tartalmazza. A blobverziók és a kért kulcsokat és értékeket tartalmazó pillanatképek nem szerepelnek a fájlban.
Szerepkörök és engedélyek
Ha szerepkör-hozzárendelési feltételeket használ az Azure beépített szerepköreihez, gondosan tekintse át azokat az engedélyeket, amelyeket a szerepkör egy tagnak ad.
Örökölt szerepkör-hozzárendelések
A szerepkör-hozzárendelések konfigurálhatók felügyeleti csoporthoz, előfizetéshez, erőforráscsoporthoz, tárfiókhoz vagy tárolóhoz, és a megadott sorrendben minden szinten örökölhetők. Az Azure RBAC additív modellel rendelkezik, így az érvényes engedélyek a szerepkör-hozzárendelések összege minden szinten. Ha egy tag ugyanazzal az engedéllyel rendelkezik, amelyet több szerepkör-hozzárendelésen keresztül rendelt hozzájuk, akkor az ezzel az engedéllyel rendelkező művelethez való hozzáférés minden egyes hozzárendeléshez külön lesz kiértékelve minden szinten.
Mivel a feltételek a szerepkör-hozzárendelések feltételeiként vannak implementálva, bármely feltétel nélküli szerepkör-hozzárendelés lehetővé teszi a felhasználók számára a feltétel megkerülését. Tegyük fel, hogy a Storage Blob Data Közreműködő szerepkört hozzárendeli egy felhasználóhoz egy tárfiókhoz és egy előfizetéshez, de csak a tárfiók hozzárendeléséhez ad hozzá feltételt. Ennek eredménye, hogy a felhasználó korlátlan hozzáféréssel rendelkezik a tárfiókhoz a szerepkör-hozzárendelésen keresztül az előfizetés szintjén.
Ezért konzisztens feltételeket kell alkalmaznia az erőforráshierarchia összes szerepkör-hozzárendelésére.
Egyéb szempontok
Blobokat író feltételműveletek
A blobok írásához sok művelethez vagy engedélyre Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
van szükség. A beépített szerepkörök, például a Storage Blob Data Owner és a Storage Blob Data Contributor mindkét engedélyt megadnak egy biztonsági tagnak.
Amikor szerepkör-hozzárendelési feltételt határoz meg ezeken a szerepkörökön, mindkét engedélyen azonos feltételeket kell használnia, hogy egységes hozzáférési korlátozásokat biztosítson az írási műveletekhez.
A Blob másolása és a Blob másolása URL-címről való másolásának viselkedése
A Blob másolása és a Blob másolása URL-ből művelet @Request
esetében a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
blob elérési útját attribútumként használó feltételek és azok alműveletei csak a cél blobra lesznek kiértékelve.
A forrásblobon @Resource
lévő feltételek esetében a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
művelet feltételei kiértékelésre kerülnek.