Wat is op kenmerken gebaseerd toegangsbeheer van Azure (Azure ABAC)?

Op kenmerken gebaseerd toegangsbeheer (ABAC) is een autorisatiesysteem dat toegang definieert op basis van kenmerken die zijn gekoppeld aan beveiligingsprinciplen, resources en de omgeving van een toegangsaanvraag. Met ABAC kunt u een beveiligingsprincipal toegang verlenen tot een resource op basis van kenmerken. Azure ABAC verwijst naar de implementatie van ABAC voor Azure.

Wat zijn voorwaarden voor roltoewijzing?

Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) is een autorisatiesysteem waarmee u kunt beheren wie toegang heeft tot Azure-resources, wat ze met deze resources kunnen doen en tot welke gebieden ze toegang hebben. In de meeste gevallen biedt Azure RBAC het toegangsbeheer dat u nodig hebt met behulp van roldefinities en roltoewijzingen. In sommige gevallen wilt u echter meer gedetailleerd toegangsbeheer bieden of het beheer van honderden roltoewijzingen vereenvoudigen.

Azure ABAC bouwt voort op Azure RBAC door roltoewijzingsvoorwaarden toe te voegen op basis van kenmerken in de context van specifieke acties. Een voorwaarde voor roltoewijzing is een extra controle die u desgewenst aan uw roltoewijzing kunt toevoegen om nauwkeuriger toegangsbeheer te bieden. Met een voorwaarde worden machtigingen gefilterd die zijn verleend als onderdeel van de roldefinitie en roltoewijzing. U kunt bijvoorbeeld een voorwaarde toevoegen waarvoor een object een specifieke tag moet hebben om het object te lezen. U kunt de toegang tot specifieke resources niet expliciet weigeren met behulp van voorwaarden.

Waarom voorwaarden gebruiken?

Er zijn drie primaire voordelen voor het gebruik van voorwaarden voor roltoewijzing:

  • Meer gedetailleerd toegangsbeheer bieden: een roltoewijzing maakt gebruik van een roldefinitie met acties en gegevensacties om machtigingen voor beveiligingsprinciplen te verlenen. U kunt voorwaarden schrijven om deze machtigingen te filteren voor nauwkeuriger toegangsbeheer. U kunt ook voorwaarden toevoegen aan specifieke acties. U kunt bijvoorbeeld John alleen leestoegang verlenen tot blobs in uw abonnement als de blobs zijn gelabeld als Project=Blue.
  • Verminder het aantal roltoewijzingen : elk Azure-abonnement heeft momenteel een limiet voor roltoewijzing. Er zijn scenario's waarvoor duizenden roltoewijzingen nodig zijn. Al deze roltoewijzingen moeten worden beheerd. In deze scenario's kunt u mogelijk voorwaarden toevoegen om aanzienlijk minder roltoewijzingen te gebruiken.
  • Kenmerken gebruiken die specifieke zakelijke betekenis hebben: voorwaarden bieden u de mogelijkheid om kenmerken te gebruiken die specifieke zakelijke betekenis voor u hebben in toegangsbeheer. Enkele voorbeelden van kenmerken zijn projectnaam, softwareontwikkelingsfase en classificatieniveaus. De waarden van deze resourcekenmerken zijn dynamisch en veranderen wanneer gebruikers door teams en projecten lopen.

Voorbeeldscenario's voor voorwaarden

Er zijn verschillende scenario's waarin u mogelijk een voorwaarde wilt toevoegen aan uw roltoewijzing. Hieronder vindt u enkele voorbeelden.

  • Leestoegang tot blobs met de tag Project=Trapsgewijs
  • Nieuwe blobs moeten de tag Project=Trapsgewijs bevatten
  • Bestaande blobs moeten worden gelabeld met ten minste één projectsleutel of programmasleutel
  • Bestaande blobs moeten worden gelabeld met een Project-sleutel en Trapsgewijze, Baker- of Skagit-waarden
  • Blobs lezen, schrijven of verwijderen in containers met de naam blobs-example-container
  • Leestoegang tot blobs in containers met de naam blobs-example-container met een pad van alleen-lezen
  • Schrijftoegang tot blobs in containers met de naam Contosocorp met een pad naar uploads/contoso
  • Lees toegang tot blobs met de tag Program=Alpine en een pad naar logboeken
  • Leestoegang tot blobs met de tag Project=Baker en de gebruiker heeft een overeenkomend kenmerk Project=Baker
  • Leestoegang tot blobs tijdens een specifiek datum-/tijdsbereik.
  • Schrijftoegang tot blobs alleen via een privékoppeling of vanuit een specifiek subnet.

Zie Voorbeeld van Azure-roltoewijzingsvoorwaarden voor Blob Storage voor meer informatie over het maken van deze voorbeelden.

Waar kunnen voorwaarden worden toegevoegd?

Op dit moment kunnen voorwaarden worden toegevoegd aan ingebouwde of aangepaste roltoewijzingen met blobopslag- of wachtrijopslaggegevensacties. Voorwaarden worden toegevoegd aan hetzelfde bereik als de roltoewijzing. Net als bij roltoewijzingen moet u machtigingen hebben Microsoft.Authorization/roleAssignments/write om een voorwaarde toe te voegen.

Hier volgen enkele blob storage-kenmerken die u in uw voorwaarden kunt gebruiken.

  • Accountnaam
  • Blob-indextags
  • Blobpad
  • Blobvoorvoegsel
  • Containernaam
  • Naam van versleutelingsbereik
  • Is de huidige versie
  • Is hiërarchische naamruimte ingeschakeld
  • Is privékoppeling
  • Momentopname
  • UTC nu (de huidige datum en tijd in Coordinated Universal Time)
  • Versie-id

Hoe ziet een voorwaarde eruit?

U kunt voorwaarden toevoegen aan nieuwe of bestaande roltoewijzingen. Dit is de rol opslagblobgegevenslezer die is toegewezen aan een gebruiker met de naam Chandra op een resourcegroepbereik. Er is ook een voorwaarde toegevoegd die alleen leestoegang tot blobs toestaat met de tag Project=Trapsgewijs.

Diagram van roltoewijzing met een voorwaarde.

Als Chandra probeert een blob te lezen zonder de tag Project=Cascade, is de toegang niet toegestaan.

Diagram van toegang is niet toegestaan met een voorwaarde.

Dit is hoe de voorwaarde eruitziet in Azure Portal:

Schermopname van de voorwaarde-editor in Azure Portal met de sectie Build-expressie met waarden voor blob-indextags.

Dit is hoe de voorwaarde eruitziet in code:

(
    (
        !(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'
    )
)

Zie de indeling en syntaxis van voorwaarden voor Azure-roltoewijzingen voor meer informatie over de indeling van voorwaarden.

Status van voorwaardefuncties

De volgende tabel bevat de status van voorwaardefuncties:

Functie Status Datum
Omgevingskenmerken in een voorwaarde gebruiken GA April 2024
Voorwaarden toevoegen met behulp van de voorwaarde-editor in Azure Portal GA Oktober 2022
Voorwaarden toevoegen met behulp van Azure PowerShell, Azure CLI of REST API GA Oktober 2022
Gebruik resource- en aanvraagkenmerken voor specifieke combinaties van Azure-opslagresources, toegangskenmerktypen en prestatielagen voor opslagaccounts. Zie Status van voorwaardefuncties in Azure Storage voor meer informatie. GA Oktober 2022
Aangepaste beveiligingskenmerken gebruiken voor een principal in een voorwaarde GA November 2023

Voorwaarden en Microsoft Entra PIM

U kunt ook voorwaarden toevoegen aan in aanmerking komende roltoewijzingen met behulp van Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) voor Azure-resources. Met Microsoft Entra PIM moeten uw eindgebruikers een in aanmerking komende roltoewijzing activeren om toestemming te krijgen voor het uitvoeren van bepaalde acties. Door voorwaarden in Microsoft Entra PIM te gebruiken, kunt u niet alleen de toegang van een gebruiker tot een resource beperken met behulp van verfijnde voorwaarden, maar ook Microsoft Entra PIM gebruiken om deze te beveiligen met een tijdsgebonden instelling, goedkeuringswerkstroom, audittrail, enzovoort. Zie Azure-resourcerollen toewijzen in Privileged Identity Management voor meer informatie.

Terminologie

Als u meer inzicht wilt krijgen in Azure RBAC en Azure ABAC, kunt u teruggaan naar de volgende lijst met termen.

Term Definitie
op kenmerken gebaseerd toegangsbeheer (ABAC) Een autorisatiesysteem dat toegang definieert op basis van kenmerken die zijn gekoppeld aan beveiligingsprinciplen, resources en omgeving. Met ABAC kunt u een beveiligingsprincipal toegang verlenen tot een resource op basis van kenmerken.
Azure ABAC Verwijst naar de implementatie van ABAC voor Azure.
voorwaarde voor roltoewijzing Een extra controle dat u eventueel aan uw roltoewijzing kunt toevoegen om nauwkeuriger toegangsbeheer te bieden.
attribute In deze context is een sleutel-waardepaar, zoals Project=Blauw, waarbij Project de kenmerksleutel is en Blauw de kenmerkwaarde is. Kenmerken en tags zijn synoniem voor toegangsbeheerdoeleinden.
Expressie Een instructie in een voorwaarde die waar of onwaar oplevert. Een expressie heeft de indeling van de waarde van <de kenmerkoperator<><>.>

Limieten

Hier volgen enkele van de limieten voor voorwaarden.

Bron Limiet Opmerkingen
Aantal expressies per voorwaarde met behulp van de visuele editor 5 U kunt meer dan vijf expressies toevoegen met behulp van de code-editor

Bekende problemen

Dit zijn de bekende problemen met voorwaarden:

  • Als u Microsoft Entra Privileged Identity Management (PIM) en aangepaste beveiligingskenmerken gebruikt, wordt Principal niet weergegeven in de kenmerkbron wanneer u een voorwaarde toevoegt.

Volgende stappen