Dela via


Auktorisera åtkomst till Azure Blob Storage med hjälp av villkor för rolltilldelning i Azure

Attributbaserad åtkomstkontroll (ABAC) är en auktoriseringsstrategi som definierar åtkomstnivåer baserat på attribut som är associerade med säkerhetsobjekt, resurser, miljön och själva begärandena. Med ABAC kan du bevilja ett säkerhetsobjekt åtkomst till en resurs baserat på ett villkor som uttrycks som ett predikat med hjälp av dessa attribut.

Azure ABAC bygger på rollbaserad åtkomstkontroll i Azure (Azure RBAC) genom att lägga till villkor i Azure-rolltilldelningar. Det gör att du kan skapa rolltilldelningsvillkor baserat på huvudnamn, resurs, begäran och miljöattribut.

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. 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.

Översikt över villkor i Azure Storage

Du kan använda Microsoft Entra-ID (Microsoft Entra ID) för att auktorisera begäranden till Azure-lagringsresurser med hjälp av Azure RBAC. Azure RBAC hjälper dig att hantera åtkomst till resurser genom att definiera vem som har åtkomst till resurser och vad de kan göra med dessa resurser, med hjälp av rolldefinitioner och rolltilldelningar. Azure Storage definierar en uppsättning inbyggda Azure-roller som omfattar vanliga uppsättningar med behörigheter som används för åtkomst till Azure-lagringsdata. Du kan också definiera anpassade roller med utvalda uppsättningar med behörigheter. Azure Storage stöder rolltilldelningar för både lagringskonton och blobcontainrar.

Azure ABAC bygger på Azure RBAC genom att lägga till rolltilldelningsvillkor i kontexten för specifika åtgärder. Ett villkor för rolltilldelning är en ytterligare kontroll som utvärderas när åtgärden på lagringsresursen auktoriseras. Det här villkoret uttrycks som ett predikat med hjälp av attribut som är associerade med något av följande:

  • Säkerhetsobjekt som begär auktorisering
  • Resurs som åtkomst begärs till
  • Parametrar för begäran
  • Miljö där begäran görs

Fördelarna med att använda rolltilldelningsvillkor är:

  • Aktivera begränsad åtkomst till resurser – Om du till exempel vill ge en användare läsåtkomst till blobar i dina lagringskonton endast om blobarna taggas som Project=Sierra kan du använda villkor för läsåtgärden med taggar som ett attribut.
  • Minska antalet rolltilldelningar som du måste skapa och hantera – Du kan göra det genom att använda en generaliserad rolltilldelning för en säkerhetsgrupp och sedan begränsa åtkomsten för enskilda medlemmar i gruppen med hjälp av ett villkor som matchar attribut för ett huvudnamn med attribut för en specifik resurs som används (till exempel en blob eller en container).
  • Regler för expressåtkomstkontroll när det gäller attribut med affärsbetydelser – Du kan till exempel uttrycka dina villkor med hjälp av attribut som representerar ett projektnamn, ett affärsprogram, en organisationsfunktion eller en klassificeringsnivå.

Kompromissen med att använda villkor är att du behöver en strukturerad och konsekvent taxonomi när du använder attribut i hela organisationen. Attribut måste skyddas för att förhindra att åtkomsten komprometteras. Dessutom måste villkoren noggrant utformas och granskas för deras effekt.

Rolltilldelningsvillkor i Azure Storage stöds för Azure Blob Storage. Du kan också använda villkor med konton som har funktionen hierarkisk namnrymd (HNS) aktiverad på dem (Data Lake Storage Gen2).

Attribut och åtgärder som stöds

Du kan konfigurera villkor för rolltilldelningar för DataActions för att uppnå dessa mål. Du kan använda villkor med en anpassad roll eller välja inbyggda roller. Observera att villkor inte stöds för hanteringsåtgärder via lagringsresursprovidern.

Du kan lägga till villkor i inbyggda roller eller anpassade roller. De inbyggda roller där du kan använda rolltilldelningsvillkor är:

Du kan använda villkor med anpassade roller så länge rollen innehåller åtgärder som stöder villkor.

Om du arbetar med villkor baserat på blobindextaggar bör du använda Storage Blob Data Owner eftersom behörigheter för taggåtgärder ingår i den här rollen.

Kommentar

Blobindextaggar stöds inte för Data Lake Storage Gen2-lagringskonton som använder ett hierarkiskt namnområde. Du bör inte skapa rolltilldelningsvillkor med hjälp av indextaggar på lagringskonton som har HNS aktiverat.

Villkorsformatet för Azure-rolltilldelning tillåter användning av @Principal, @Resource@Request eller @Environment attribut i villkoren. Ett @Principal attribut är ett anpassat säkerhetsattribut för ett huvudnamn, till exempel en användare, ett företagsprogram (tjänstens huvudnamn) eller en hanterad identitet. Ett @Resource attribut refererar till ett befintligt attribut för en lagringsresurs som används, till exempel ett lagringskonto, en container eller en blob. Ett @Request attribut refererar till ett attribut eller en parameter som ingår i en lagringsåtgärdsbegäran. Ett @Environment attribut refererar till nätverksmiljön eller datum och tid för en begäran.

Azure RBAC stöder ett begränsat antal rolltilldelningar per prenumeration. Om du behöver skapa tusentals Azure-rolltilldelningar kan du stöta på den här gränsen. Det kan vara svårt att hantera hundratals eller tusentals rolltilldelningar. I vissa fall kan du använda villkor för att minska antalet rolltilldelningar på ditt lagringskonto och göra dem enklare att hantera. Du kan skala hanteringen av rolltilldelningar med hjälp av villkor och anpassade säkerhetsattribut för Microsoft Entra för huvudnamn.

Status för villkorsfunktioner i Azure Storage

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. För närvarande finns resursattributet för containermetadata och listbloben med begärandeattributet i FÖRHANDSVERSION.

I följande tabell visas den aktuella statusen för ABAC efter lagringsresurstyp och attributtyp. Undantag för specifika attribut visas också.

Resurstyper Attributtyper Attribut Tillgänglighet
Blobar
Data Lake Storage Gen2
Köer
Förfrågan
Resurs
Environment
Huvudkonto
Alla attribut utom de som anges i den här tabellen Allmän tillgänglighet
Data Lake Storage Gen2 Resurs Ögonblicksbild Förhandsgranskning
Blobar
Data Lake Storage Gen2
Resurs Containermetadata Förhandsgranskning
Blobar Förfrågan Inkludera listblob Förhandsgranskning

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.

Kommentar

Vissa lagringsfunktioner stöds inte för Data Lake Storage Gen2-lagringskonton, som använder ett hierarkiskt namnområde (HNS). Mer information finns i Stöd för bloblagringsfunktioner.

Följande ABAC-attribut stöds inte när hierarkiskt namnområde är aktiverat för ett lagringskonto:

Nästa steg

Se även