Händelser
31 mars 23 - 2 apr. 23
Den största utbildningshändelsen för Infrastruktur, Power BI och SQL. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dagDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Om du vill skydda resurser helt med hjälp av azure-attributbaserad åtkomstkontroll (Azure ABAC) måste du också skydda de attribut som används i villkoren för Tilldelning av Azure-roller. Om ditt villkor till exempel baseras på en filsökväg bör du akta dig för att åtkomsten kan komprometteras om huvudnamnet har obegränsad behörighet att byta namn på en filsökväg.
I den här artikeln beskrivs säkerhetsöverväganden som du bör ta med i dina rolltilldelningsvillkor.
Viktigt
Azure-attributbaserad åtkomstkontroll (Azure ABAC) är allmänt tillgänglig (GA) för att styra åtkomsten till Azure Blob Storage, Azure Data Lake Storage Gen2 och Azure Queues med hjälp av request
, resource
och environment
principal
attribut på prestandanivåerna för både standard- och Premium Storage-konton. För närvarande finns resursattributet för containermetadata och listbloben med begärandeattributet i FÖRHANDSVERSION. Fullständig information om funktionsstatus för ABAC för Azure Storage finns i Status för villkorsfunktioner i Azure Storage.
Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Villkor för rolltilldelning utvärderas endast när du använder Azure RBAC för auktorisering. Dessa villkor kan kringgås om du tillåter åtkomst med alternativa auktoriseringsmetoder:
På samma sätt utvärderas inte villkor när åtkomst beviljas med hjälp av åtkomstkontrollistor (ACL: er) i lagringskonton med ett hierarkiskt namnområde (HNS).
Du kan förhindra delad nyckel, SAS på kontonivå och SAS-auktorisering på tjänstnivå genom att inaktivera auktorisering av delad nyckel för ditt lagringskonto. Eftersom SAS för användardelegering är beroende av Azure RBAC utvärderas villkor för rolltilldelning när du använder den här auktoriseringsmetoden.
När du använder blobsökvägen som ett @Resource-attribut för ett villkor bör du också förhindra att användare byter namn på en blob för att få åtkomst till en fil när de använder konton som har ett hierarkiskt namnområde. Om du till exempel vill skapa ett villkor baserat på blobsökväg bör du även begränsa användarens åtkomst till följande åtgärder:
Åtgärd | beskrivning |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action |
Med den här åtgärden kan kunder byta namn på en fil med hjälp av API:et Sökvägsskapande. |
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Den här åtgärden ger åtkomst till olika filsystem- och sökvägsåtgärder. |
Blobindextaggar används som friformulärattribut för villkor i lagringen. Om du skapar några åtkomstvillkor med hjälp av dessa taggar måste du också skydda själva taggarna. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Mer specifikt tillåter DataAction användare att ändra taggarna på ett lagringsobjekt. Du kan begränsa den här åtgärden för att förhindra att användare manipulerar en taggnyckel eller ett värde för att få åtkomst till obehöriga objekt.
Om blobindextaggar används under förhållanden kan data dessutom vara sårbara om data och associerade indextaggar uppdateras i separata åtgärder. Du kan använda @Request
villkor för blobskrivningsåtgärder för att kräva att indextaggar anges i samma uppdateringsåtgärd. Den här metoden kan skydda data från det ögonblick de skrivs till lagring.
Som standard kopieras inte blobindextaggar från en källblob till målet när du använder Api för kopieringsblob eller någon av dess varianter. Om du vill bevara åtkomstomfånget för blob vid kopiering bör du även kopiera taggarna.
Det går inte att ändra taggar på blobögonblicksbilder. Därför måste du uppdatera taggarna på en blob innan du tar ögonblicksbilden. Om du ändrar taggarna på en basblob fortsätter taggarna på ögonblicksbilden att ha sitt tidigare värde.
Om en tagg på en basblob ändras när en ögonblicksbild har tagits kan åtkomstomfånget skilja sig åt för basbloben och ögonblicksbilden.
Blobindextaggar kopieras inte när en blobversion skapas via API:erna Put Blob, Put Block List eller Copy Blob . Du kan ange taggar via rubriken för dessa API:er.
Taggar kan anges individuellt på en aktuell basblob och på varje blobversion. När du ändrar taggar på en basblob uppdateras inte taggarna i tidigare versioner. Om du vill ändra åtkomstomfånget för en blob och alla dess versioner med hjälp av taggar måste du uppdatera taggarna för varje version.
När du använder taggar för att fråga och filtrera blobar i en container inkluderas endast basblobbarna i svaret. Blobversioner eller ögonblicksbilder med de begärda nycklarna och värdena ingår inte.
Om du använder rolltilldelningsvillkor för inbyggda Azure-roller bör du noggrant granska alla behörigheter som rollen beviljar ett huvudnamn.
Rolltilldelningar kan konfigureras för en hanteringsgrupp, prenumeration, resursgrupp, lagringskonto eller en container och ärvs på varje nivå i angiven ordning. Azure RBAC har en additiv modell, så de effektiva behörigheterna är summan av rolltilldelningar på varje nivå. Om ett huvudnamn har samma behörighet tilldelad till dem via flera rolltilldelningar utvärderas åtkomsten för en åtgärd som använder den behörigheten separat för varje tilldelning på varje nivå.
Eftersom villkor implementeras som villkor för rolltilldelningar kan alla ovillkorliga rolltilldelningar tillåta användare att kringgå villkoret. Anta att du tilldelar rollen Storage Blob Data Contributor till en användare för ett lagringskonto och en prenumeration, men lägger bara till ett villkor i tilldelningen för lagringskontot. Resultatet är att användaren har obegränsad åtkomst till lagringskontot via rolltilldelningen på prenumerationsnivå.
Därför bör du tillämpa villkor konsekvent för alla rolltilldelningar i en resurshierarki.
Många åtgärder som skriver blobar kräver antingen behörigheten Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
eller . Inbyggda roller, till exempel Storage Blob Data Owner och Storage Blob Data Contributor , beviljar båda behörigheterna till ett säkerhetsobjekt.
När du definierar ett rolltilldelningsvillkor för dessa roller bör du använda identiska villkor för båda dessa behörigheter för att säkerställa konsekventa åtkomstbegränsningar för skrivåtgärder.
För åtgärderna @Request
Kopiera blobb och Kopiera blob från URL utvärderas villkor som använder blobsökväg som attribut för Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
åtgärden och dess underåtgärder endast för målbloben.
För villkor för källbloben @Resource
utvärderas villkoren för åtgärden Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
.
Händelser
31 mars 23 - 2 apr. 23
Den största utbildningshändelsen för Infrastruktur, Power BI och SQL. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dag