Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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, resourceoch environmentprincipal attribut på prestandanivåerna för både standard- och Premium Storage-konton. Listbloben innehåller för närvarande begärandeattributet och attributet för ögonblicksbildsbegäran för hierarkiskt namnområde i FÖRHANDSVERSION. Fullständig information om funktionsstatus för ABAC för Azure Storage finns i Status för villkorsfunktioner i Azure Storage.
Se kompletterande användningsvillkor för Microsoft Azure Previews för juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Användning av andra auktoriseringsmekanismer
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.
Skydda lagringsattribut som används under förhållanden
Blob-sökväg
När du använder blobsökväg 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. | 
Taggar för blobindex
              Blobindextaggar används som fria attribut för villkor i lagringstjänster. 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.
Taggar på kopierade blobar
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.
Taggar på ögonblicksbilder
Taggar på blob-snapshots kan inte ändras. 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.
Taggar i blobversioner
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.
Fråge- och filtreringsbegränsningar för versioner och ögonblicksbilder
När du använder taggar för att fråga och filtrera blobar i en container inkluderas endast basblobbarna i svaret. Blobversioner eller snapshots med de begärda nycklarna och värdena inkluderas inte.
Roller och behörigheter
Om du använder rolltilldelningsvillkor för inbyggda Azure-roller bör du noggrant granska alla behörigheter som rollen ger en huvudidentitet.
Ärvda rolltilldelningar
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 en huvudansvarig har samma behörighet tilldelad till sig via flera rolltilldelningar, utvärderas åtkomst 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.
Andra överväganden
Villkorsåtgärder som skriver blobar
Många åtgärder som skriver blobar kräver antingen Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write-behörighet eller Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action-behörighet. Inbyggda roller, såsom Storage Blob Data Owner och Storage Blob Data Contributor, beviljar behörigheter till en säkerhetsprincipal.
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.
Beteende för kopiering av blob och kopiering av blob från en URL
För åtgärderna Kopiera blobb och @Request 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 .