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.
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.
Genom att använda Azure RBAC och Azure ABAC integreras fördelarna med båda åtkomstkontrollmodellerna. Azure RBAC är enklare att implementera på grund av den nära anpassningen till affärslogiken, medan Azure ABAC ger större flexibilitet i vissa viktiga scenarier. Genom att kombinera dessa två metoder kan organisationer uppnå en mer avancerad auktoriseringsnivå.
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 tilldela behörigheter till säkerhetsprincipaler. 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-exempel-container och med en sökväg som är skrivskyddad.
- Skrivbehörighet till blobbar i containrar med namnet Contosocorp med sökvägen uploads/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 attribut för bloblagring som du kan använda i dina villkor.
- Kontonamn
- Taggar för blobindex
- Blob-sö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)
- Versionsidentitet
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.
Om Chandra försöker läsa en blob utan taggen Project=Cascade tillåts inte åtkomst.
Så här ser villkoret ut i Azure-portalen:
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 villkorsegenskaper
I följande tabell visas status för villkorsfunktioner:
Egenskap | Läge | Datum |
---|---|---|
Använda miljöattribut i ett villkor | GA | April 2024 |
Lägga till villkor med hjälp av villkorsredigeraren i Azure-portalen | GA | Oktober 2022 |
Lägg till villkor genom att använda Azure PowerShell, Azure CLI eller REST API | GA | 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. | GA | Oktober 2022 |
Använd anpassade säkerhetsattribut på ett huvudobjekt i ett villkor | GA | 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.
Begrepp | 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 (attributbaserad åtkomstkontroll) | 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. |
attribut | 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 | Ett påstående 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 | Begränsning | Noteringar |
---|---|---|
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 problemområden
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.