Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete plně zabezpečit prostředky pomocí řízení přístupu na základě atributů Azure (Azure ABAC), musíte také chránit atributy používané v podmínkách přiřazení role Azure. Pokud je například podmínka založená na cestě k souboru, měli byste mít na paměti, že přístup může být ohrožen, pokud má uživatel neomezené oprávnění k přejmenování cesty k souboru.
Tento článek popisuje aspekty zabezpečení, které byste měli zohlednit v podmínkách přiřazení rolí.
Důležité
Řízení přístupu na základě atributů Azure (Azure ABAC) je obecně dostupné (GA) pro řízení přístupu ke službě Azure Blob Storage, Azure Data Lake Storage Gen2 a Frontám Azure pomocí atributů request, resource, environment a principal v úrovních výkonu standardních a prémiových účtů služby Azure Storage. Objekt blob seznamu v současné době obsahuje atribut požadavku a atribut požadavku snímku pro hierarchický obor názvů ve verzi PREVIEW. Úplné informace o stavu funkcí ABAC pro Azure Storage najdete v tématu Stav funkcí podmínky ve službě Azure Storage.
Podívejte se na doplňkové podmínky užívání služby Microsoft Azure Preview pro právní podmínky, které se vztahují na funkce Azure, jež jsou ve verzi beta, Preview nebo jinak ještě nejsou obecně dostupné.
Použití jiných mechanismů autorizace
Podmínky přiřazení role se vyhodnocují pouze při použití Azure RBAC k autorizaci. Pokud povolíte přístup pomocí alternativních metod autorizace, můžete tyto podmínky obejít:
- Autorizace sdíleného klíče
- Sdílený přístupový podpis účtu (SAS)
- SAS služby
Podobně se podmínky nevyhodnocují, když je udělen přístup pomocí seznamů řízení přístupu (ACL) v účtech úložiště s hierarchickým oborem názvů (HNS).
Dasáhnout můžete tím, že zakážete autorizaci sdíleného klíče, SAS na úrovni účtu a SAS na úrovni služby pro váš účet úložiště. Jelikož delegování uživatele SAS závisí na Azure RBAC, podmínky přiřazení role se vyhodnocují při použití této metody autorizace.
Zabezpečení atributů úložiště používaných v podmínkách
Cesta blobu
Při použití cesty k objektu blob jako atributu @Resource pro podmínku byste také měli uživatelům zabránit v přejmenování objektu blob, aby získali přístup k souboru při použití účtů s hierarchickým oborem názvů. Pokud například chcete vytvořit podmínku založenou na cestě k objektu blob, měli byste také omezit přístup uživatele k následujícím akcím:
| Činnost | Popis |
|---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action |
Tato akce umožňuje zákazníkům přejmenovat soubor pomocí rozhraní API pro vytvoření cesty. |
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Tato akce umožňuje přístup k různým operacím systému souborů a cest. |
Značky pro indexování blobů
Značky indexu objektů blob se používají jako volně formované atributy pro podmínky v úložišti. Pokud vytvoříte jakékoli podmínky přístupu pomocí těchto značek, musíte také chránit samotné značky. Konkrétně DataAction Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write umožňuje uživatelům upravovat značky objektu úložiště. Tuto akci můžete omezit, abyste uživatelům zabránili v manipulaci s klíčem značky nebo hodnotou, aby získali přístup k neoprávněným objektům.
Kromě toho, pokud jsou značky indexu objektů blob použity v podmínkách, mohou být data ohrožena, pokud se data a přidružené indexové značky aktualizují v samostatných operacích. Můžete použít podmínky operací zápisu blobů @Request k vyžadování nastavení značek indexu ve stejné operaci aktualizace. Tento přístup může pomoct zabezpečit data z okamžiku, kdy se zapisuje do úložiště.
Značky u zkopírovaných objektů blob
Ve výchozím nastavení se značky indexu objektů blob nekopírují ze zdrojového objektu blob do cíle, pokud používáte rozhraní API pro kopírování objektů blob nebo některou z jejích variant. Pokud chcete zachovat rozsah přístupu k objektu blob při kopírování, měli byste značky zkopírovat také.
Značky snímků
Značky snímků objektů blob nelze upravit. Proto je nezbytné aktualizovat značky blobu před pořízením snímku. Pokud značky v základním objektu blob upravíte, značky na snímku budou mít i nadále předchozí hodnotu.
Pokud se změní značka základního objektu blob poté, co je pořízen snímek, mohou se rozsahy přístupu pro základní objekt blob a snímek lišit.
Značky ve verzích blobů
Značky indexu objektů blob se nekopírují při vytvoření verze objektu blob prostřednictvím rozhraní PUT Blob, Put Block List nebo Copy Blob API. Značky můžete zadat prostřednictvím hlavičky pro tato rozhraní API.
Značky je možné nastavit jednotlivě pro aktuální základní objekt blob a pro každou verzi objektu blob. Při úpravě značek v základním objektu blob se značky v předchozích verzích neaktualizují. Pokud chcete změnit rozsah přístupu pro objekt blob a všechny jeho verze pomocí značek, je nutné aktualizovat značky pro každou verzi.
Omezení při dotazování a filtrování pro verze a snímky
Když použijete značky k dotazování a filtrování objektů blob v kontejneru, do odpovědi se zahrnou jenom základní objekty blob. Verze objektů blob nebo snímky s požadovanými klíči a hodnotami nejsou zahrnuty.
Role a oprávnění
Pokud používáte podmínky přiřazení role pro předdefinované role Azure, měli byste pečlivě zkontrolovat všechna oprávnění, která role uděluje hlavnímu objektu.
Zděděná přiřazení rolí
Přiřazení rolí je možné nakonfigurovat pro skupinu pro správu, předplatné, skupinu prostředků, účet úložiště nebo kontejner a dědí se na každé úrovni ve stanoveném pořadí. Azure RBAC má doplňkový model, takže efektivní oprávnění představují součet přiřazení rolí na jednotlivých úrovních. Pokud má entita stejné oprávnění přiřazené skrze více přiřazení rolí, pak se přístup k operaci pomocí tohoto oprávnění vyhodnocuje samostatně pro každé přiřazení na každé úrovni.
Vzhledem k tomu, že podmínky jsou implementovány jako podmínky pro přiřazení rolí, může jakékoli nepodmíněné přiřazení role uživatelům umožnit obejít podmínku. Řekněme, že uživateli přiřadíte roli Přispěvatel dat objektů blob služby Storage pro účet úložiště a na úrovni předplatného, ale k přiřazení pro účet úložiště přidáte podmínku. Výsledkem je, že uživatel má neomezený přístup k účtu úložiště prostřednictvím přiřazení role na úrovni předplatného.
Proto byste měli používat podmínky konzistentně pro všechna přiřazení rolí v hierarchii prostředků.
Ostatní úvahy
Operace, které zapisují objekty blob podmíněně
Mnoho operací, které zapisují objekty blob, vyžaduje oprávnění buď Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write, nebo Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action. Předdefinované role, jako je vlastník dat objektu blob služby Storage a Přispěvatel dat objektů blob služby Storage, udělují objektu zabezpečení obě oprávnění.
Když u těchto rolí definujete podmínku přiřazení role, měli byste pro obě tato oprávnění použít stejné podmínky, abyste zajistili konzistentní omezení přístupu pro operace zápisu.
Chování kopírování objektu blob a kopírování objektu blob z adresy URL
V případě operací kopírování objektu blob a @Request se podmínky využívající cestu k objektu blob jako atribut akce Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write a jeho dílčí operace vyhodnocují pouze pro cílový objekt blob.
Pro podmínky zdrojového objektu blob @Resource se vyhodnocují podmínky Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read akce.