Vad är azure-attributbaserad åtkomstkontroll (Azure ABAC)?

Attributbaserad åtkomstkontroll (ABAC) är ett auktoriseringssystem som definierar åtkomst baserat på attribut som är associerade med säkerhetsobjekt, resurser och miljön för en åtkomstbegäran. Med ABAC kan du ge ett säkerhetsobjekt åtkomst till en resurs baserat på attribut. Azure ABAC avser implementeringen av ABAC för Azure.

Vad är villkor för rolltilldelning?

Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är ett auktoriseringssystem som hjälper dig att hantera vem som har åtkomst till Azure-resurser, vad de kan göra med dessa resurser och vilka områden de har åtkomst till. I de flesta fall tillhandahåller Azure RBAC den åtkomsthantering du behöver med hjälp av rolldefinitioner och rolltilldelningar. Men i vissa fall kanske du vill tillhandahålla mer detaljerad åtkomsthantering eller förenkla hanteringen av hundratals rolltilldelningar.

Azure ABAC bygger på Azure RBAC genom att lägga till rolltilldelningsvillkor baserat på attribut i samband med specifika åtgärder. Ett villkor för rolltilldelning är ytterligare en kontroll som du kan lägga till i rolltilldelningen för att ge mer detaljerad åtkomstkontroll. Ett villkor filtrerar ned behörigheter som beviljats som en del av rolldefinitionen och rolltilldelningen. Du kan till exempel lägga till ett villkor som kräver att ett objekt har en specifik tagg för att läsa objektet. Du kan inte uttryckligen neka åtkomst till specifika resurser med hjälp av villkor.

Varför ska man använda villkor?

Det finns tre huvudsakliga fördelar med att använda rolltilldelningsvillkor:

  • Ge mer detaljerad åtkomstkontroll – En rolltilldelning använder en rolldefinition med åtgärder och dataåtgärder för att bevilja behörigheter för säkerhetsobjekt. Du kan skriva villkor för att filtrera ned dessa behörigheter för mer detaljerad åtkomstkontroll. Du kan också lägga till villkor för specifika åtgärder. Du kan till exempel endast ge John läsåtkomst till blobar i din prenumeration om blobarna är taggade som Project=Blue.
  • Minska antalet rolltilldelningar – Varje Azure-prenumeration har för närvarande en gräns för rolltilldelning. Det finns scenarier som skulle kräva tusentals rolltilldelningar. Alla dessa rolltilldelningar måste hanteras. I dessa scenarier kan du eventuellt lägga till villkor för att använda betydligt färre rolltilldelningar.
  • Använd attribut som har specifik affärsbetydning – Med villkor kan du använda attribut som har specifik affärsbetydning för dig i åtkomstkontroll. Några exempel på attribut är projektnamn, programutvecklingssteg och klassificeringsnivåer. Värdena för dessa resursattribut är dynamiska och ändras när användare flyttar mellan team och projekt.

Exempelscenarier för villkor

Det finns flera scenarier där du kanske vill lägga till ett villkor i rolltilldelningen. Här följer några exempel.

  • Läs åtkomst till blobar med taggen Project=Cascade
  • Nya blobar måste innehålla taggen Project=Cascade
  • Befintliga blobar måste taggas med minst en projektnyckel eller programnyckel
  • Befintliga blobar måste taggas med en Projektnyckel och Cascade-, Baker- eller Skagit-värden
  • Läsa, skriva eller ta bort blobar i containrar med namnet blobs-example-container
  • Läsåtkomst till blobar i containrar med namnet blobs-example-container med en skrivskyddad sökväg
  • Skriva åtkomst till blobar i containrar med namnet Contosocorp med en sökväg för uppladdningar/contoso
  • Läs åtkomst till blobar med taggen Program=Alpine och en sökväg för loggar
  • Läsåtkomst till blobar med taggen Project=Baker och användaren har ett matchande attribut Project=Baker
  • Läs åtkomst till blobar under ett visst datum-/tidsintervall.
  • Skriv endast åtkomst till blobar via en privat länk eller från ett specifikt undernät.

Mer information om hur du skapar dessa exempel finns i Exempel på Villkor för Azure-rolltilldelning för Blob Storage.

Var kan villkor läggas till?

För närvarande kan villkor läggas till i inbyggda eller anpassade rolltilldelningar som har bloblagrings- eller kölagringsdataåtgärder. Villkor läggs till i samma omfång som rolltilldelningen. Precis som rolltilldelningar måste du ha Microsoft.Authorization/roleAssignments/write behörighet att lägga till ett villkor.

Här är några av de bloblagringsattribut som du kan använda under dina villkor.

  • Kontonamn
  • Blobindextaggar
  • Blobsökväg
  • Blobprefix
  • Containerns namn
  • Namn på krypteringsomfång
  • Är aktuell version
  • Är hierarkiskt namnområde aktiverat
  • Är privat länk
  • Ögonblicksbild
  • UTC nu (aktuellt datum och tid i Coordinated Universal Time)
  • Versions-ID

Hur ser ett villkor ut?

Du kan lägga till villkor i nya eller befintliga rolltilldelningar. Här är rollen Storage Blob Data Reader som har tilldelats till en användare med namnet Chandra i ett resursgruppsomfång. Ett villkor har också lagts till som endast tillåter läsåtkomst till blobar med taggen Project=Cascade.

Diagram över rolltilldelning med ett villkor.

Om Chandra försöker läsa en blob utan taggen Project=Cascade tillåts inte åtkomst.

Diagram över åtkomst tillåts inte med ett villkor.

Så här ser villkoret ut i Azure-portalen:

Skärmbild av villkorsredigeraren i Azure-portalen som visar avsnittet bygguttryck med värden för blobindextaggar.

Så här ser villkoret ut i kod:

(
    (
        !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
        AND NOT
        SubOperationMatches{'Blob.List'})
    )
    OR
    (
        @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
    )
)

Mer information om villkorsformatet finns i Villkorsformat och syntax för Azure-rolltilldelningsvillkor.

Status för villkorsfunktioner

I följande tabell visas status för villkorsfunktioner:

Funktion Status Datum
Använda miljöattribut i ett villkor Allmän tillgänglighet April 2024
Lägga till villkor med hjälp av villkorsredigeraren i Azure-portalen Allmän tillgänglighet Oktober 2022
Lägga till villkor med Hjälp av Azure PowerShell, Azure CLI eller REST API Allmän tillgänglighet Oktober 2022
Använd resurs- och begärandeattribut för specifika kombinationer av Azure-lagringsresurser, åtkomstattributtyper och lagringskontoprestandanivåer. Mer information finns i Status för villkorsfunktioner i Azure Storage. Allmän tillgänglighet Oktober 2022
Använda anpassade säkerhetsattribut på ett huvudnamn i ett villkor Allmän tillgänglighet November 2023

Villkor och Microsoft Entra PIM

Du kan också lägga till villkor för berättigade rolltilldelningar med Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) för Azure-resurser. Med Microsoft Entra PIM måste slutanvändarna aktivera en berättigad rolltilldelning för att få behörighet att utföra vissa åtgärder. Med hjälp av villkor i Microsoft Entra PIM kan du inte bara begränsa en användares åtkomst till en resurs med hjälp av detaljerade villkor, utan även använda Microsoft Entra PIM för att skydda den med en tidsbunden inställning, arbetsflöde för godkännande, spårning och så vidare. Mer information finns i Tilldela Azure-resursroller i Privileged Identity Management.

Terminologi

För att bättre förstå Azure RBAC och Azure ABAC kan du gå tillbaka till följande lista med villkor.

Period Definition
attributbaserad åtkomstkontroll (ABAC) Ett auktoriseringssystem som definierar åtkomst baserat på attribut som är associerade med säkerhetsobjekt, resurser och miljö. Med ABAC kan du ge ett säkerhetsobjekt åtkomst till en resurs baserat på attribut.
Azure ABAC Refererar till implementeringen av ABAC för Azure.
villkor för rolltilldelning En ytterligare kontroll som du kan lägga till i rolltilldelningen för att ge mer detaljerad åtkomstkontroll.
attribute I det här sammanhanget är ett nyckel/värde-par som Project=Blue, där Project är attributnyckeln och Blue är attributvärdet. Attribut och taggar är synonyma för åtkomstkontroll.
Uttryck En instruktion i ett villkor som utvärderas till sant eller falskt. Ett uttryck har formatet <attributoperatorvärde>><<>.

Gränser

Här är några av begränsningarna för villkor.

Resurs Gräns Kommentar
Antal uttryck per villkor med hjälp av det visuella redigeringsprogrammet 5 Du kan lägga till fler än fem uttryck med hjälp av kodredigeraren

Kända problem

Här är de kända problemen med villkor:

  • Om du använder Microsoft Entra Privileged Identity Management (PIM) och anpassade säkerhetsattribut visas inte Principal i attributkällan när du lägger till ett villkor.

Nästa steg