Wat is Azure RBAC (toegangsbeheer op basis van rollen)?

Toegangsbeheer voor cloudresources is een belangrijke functie voor elke organisatie die gebruikmaakt van de cloud. Het gebruik van op rollen gebaseerd toegangsbeheer in Azure (Azure RBAC) helpt u bij het beheren van wie er toegang heeft tot Azure-resources, wat ze kunnen doen met die resources en tot welke gebieden ze toegang hebben.

Azure RBAC is een autorisatiesysteem dat is gebouwd op Azure Resource Manager dat gedetailleerd toegangsbeheer biedt voor Azure-resources.

Deze video geeft een kort overzicht van Azure RBAC.

Wat kan ik doen met op rollen gebaseerd toegangsbeheer in Azure?

Hier volgen enkele voorbeelden van wat u met op rollen gebaseerd toegangsbeheer in Azure kunt doen:

  • Toestaan dat één gebruiker de virtuele machines in een abonnement kan beheren en een andere gebruiker de virtuele netwerken kan beheren
  • Een DBA-groep toestaan de SQL-databases in een abonnement te beheren.
  • Toestaan dat een gebruiker alle resources in een resourcegroep kan beheren, zoals virtuele machines, websites en subnetten
  • Toestaan dat een toepassing toegang heeft tot alle resources in een resourcegroep

Hoe Azure RBAC werkt

De manier waarop u de toegang tot resources kunt beheren met behulp van Azure RBAC, is het toewijzen van Azure-rollen. Dit is een belangrijke concept om te weten: het is de manier waarop machtigingen worden afgedwongen. Een roltoewijzing bestaat uit drie elementen: beveiligings-principal, roldefinitie en bereik (ook wel scope of niveau genoemd).

Beveiligingsprincipal

Een beveiligingsprincipal is een object dat een gebruiker, groep, service-principal of beheerde identiteit aanduidt die toegang tot Azure-resources aanvraagt. U kunt een rol toewijzen aan een van deze beveiligingsprincipals.

Diagram showing the security principal types for a role assignment.

Roldefinitie

Een roldefinitie is een verzameling machtigingen. Het wordt meestal gewoon een rol genoemd. Een roldefinitie bevat de acties die kunnen worden uitgevoerd, zoals lezen, schrijven en verwijderen. Rollen kunnen op algemeen zijn, zoals eigenaar, of specifiek, zoals de lezer van de virtuele machine.

Diagram showing role definition example for a role assignment

Azure bevat diverse ingebouwde rollen die u kunt gebruiken. Met de rol Inzender voor virtuele machines kan een gebruiker bijvoorbeeld virtuele machines maken en beheren. Als de ingebouwde rollen niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste Azure-rollen maken.

Deze video bevat een kort overzicht van ingebouwde rollen en aangepaste rollen.

Azure heeft gegevensacties waarmee u toegang kunt verlenen tot gegevens binnen een object. Als een gebruiker bijvoorbeeld toegang heeft tot gegevens in een opslagaccount, kan deze de blobs of berichten in dat opslagaccount lezen.

Zie Roldefinities in Azure begrijpen voor meer informatie.

Bereik

Bereik is de set resources waarop de toegang van toepassing is. Wanneer u een rol toewijst, kunt u de toegestane acties verder beperken door een bereik te definiëren. Dit is handig als u van iemand een Inzender voor websites wilt maken, maar slechts voor één resourcegroep.

In Azure kunt u een bereik op vier niveaus opgeven: beheergroep, abonnement, resourcegroep of resource. Bereiken zijn gestructureerd in een bovenliggende/onderliggende relatie. U kunt rollen toewijzen aan elk van deze bereikniveaus.

Diagram showing scope levels for a role assignment.

Zie Bereik voor meer informatie over het bereik.

Roltoewijzingen

Een roltoewijzing is het proces waarmee voor een bepaald bereik een roldefinitie aan een gebruiker, groep, service-principal of beheerde identiteit wordt gekoppeld, met het doel om toegang te verlenen. Toegang wordt verleend door een roltoewijzing te maken en toegang kan worden ingetrokken door een roltoewijzing te verwijderen.

Het volgende diagram toont een voorbeeld van een roltoewijzing. In dit voorbeeld wordt aan de groep Marketing de rol van inzender toegewezen voor de resourcegroep pharma-sales. Dit betekent dat gebruikers in de groep Marketing een Azure-resource in de resourcegroep pharma-sales kunnen maken of beheren. Marketinggebruikers hebben geen toegang tot resources buiten de resourcegroep pharma-sales, tenzij ze deel uitmaken van een andere roltoewijzing.

Diagram showing how security principal, role definition, and scope create a role assignment.

U kunt rollen toewijzen met behulp van Azure Portal, Azure CLI, Azure PowerShell, Azure SDK's of REST API's.

Zie Stappen voor het toewijzen van een Azure-rol voor meer informatie.

Groepen

Roltoewijzingen zijn transitief voor groepen, wat betekent dat als een gebruiker lid is van een groep en die groep lid is van een andere groep die een roltoewijzing heeft, de gebruiker de machtigingen in de roltoewijzing heeft.

Diagram showing how role assignments are transitive for groups.

Meervoudige roltoewijzingen

Wat gebeurt er wanneer er meerdere overlappende roltoewijzingen zijn? Azure RBAC is een additief model, dus uw effectieve machtigingen zijn de som van uw roltoewijzingen. Bekijk het volgende voorbeeld, waarbij aan een gebruiker de rol Inzender wordt toegekend in het abonnementsbereik en de rol Lezer in een resourcegroep. De som van de machtigingen voor inzender en de machtigingen lezer is in feite de rol Inzender voor het abonnement. Daarom heeft in dit geval de toewijzing van de rol Lezer geen impact.

Diagram showing how multiple role assignments overlap.

Hoe Azure RBAC bepaalt of een gebruiker toegang tot een resource heeft

Hier volgen de stappen op hoog niveau die azure RBAC gebruikt om te bepalen of u toegang hebt tot een resource. Deze stappen zijn van toepassing op Azure Resource Manager- of gegevensvlakservices die zijn geïntegreerd met Azure RBAC. Dit is handig om te begrijpen of u een toegangsprobleem probeert op te lossen.

  1. Een gebruiker (of service-principal) krijgt een token voor Azure Resource Manager.

    Het token bevat groepslidmaatschappen van de gebruiker (met inbegrip van overdraagbare groepslidmaatschappen).

  2. De gebruiker voert een REST API-aanroep uit naar Azure Resource Manager met het gekoppelde token.

  3. Azure Resource Manager haalt alle roltoewijzingen en weigeringstoewijzingen op die betrekking hebben op de resource waarop de actie wordt ondernomen.

  4. Als de weigeringstoewijzing van toepassing is, wordt toegang geblokkeerd. Anders wordt de evaluatie voortgezet.

  5. Azure Resource Manager beperkt de roltoewijzingen die van toepassing zijn op deze gebruiker of hun groep en bepaalt welke rollen de gebruiker heeft voor deze resource.

  6. Azure Resource Manager bepaalt of de actie in de API-aanroep is opgenomen in de rollen die de gebruiker voor deze resource heeft. Als de rollen een jokerteken (*) bevattenActions, worden de effectieve machtigingen berekend door de NotActions toegestane Actionsmachtigingen af te trekken. Op dezelfde manier wordt dezelfde aftrekking uitgevoerd voor gegevensacties.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Als de gebruiker geen rol heeft met de actie in het aangevraagde bereik, is toegang niet toegestaan. Anders worden eventuele voorwaarden geëvalueerd.

  8. Als de roltoewijzing voorwaarden bevat, worden deze geëvalueerd. Anders is toegang toegestaan.

  9. Als aan voorwaarden wordt voldaan, is toegang toegestaan. Anders is de toegang niet toegestaan.

Het volgende diagram is een samenvatting van de evaluatielogica.

Evaluation logic flowchart for determining access to a resource.

Waar worden Azure RBAC-gegevens opgeslagen?

Roldefinities, roltoewijzingen en weigeringstoewijzingen worden globaal opgeslagen om ervoor te zorgen dat u toegang hebt tot uw resources, ongeacht de regio waar u de resource hebt gemaakt.

Wanneer een roltoewijzing of andere Azure RBAC-gegevens worden verwijderd, worden de gegevens globaal verwijderd. Principals die toegang hadden tot een resource via Azure RBAC-gegevens, verliezen hun toegang.

Waarom is Azure RBAC-gegevens globaal?

Azure RBAC-gegevens zijn wereldwijd om ervoor te zorgen dat klanten tijdig toegang hebben tot resources, ongeacht waar ze toegang tot hebben. Azure RBAC wordt afgedwongen door Azure Resource Manager, dat een globaal eindpunt heeft en aanvragen worden doorgestuurd naar de dichtstbijzijnde regio voor snelheid en tolerantie. Daarom moet Azure RBAC worden afgedwongen in alle regio's en worden de gegevens gerepliceerd naar alle regio's. Zie Tolerantie van Azure Resource Manager voor meer informatie.

Bekijk het volgende voorbeeld. Arina maakt een virtuele machine in Azië - oost. Bob, die lid is van het team van Arina, werkt in de Verenigde Staten. Bob moet toegang hebben tot de virtuele machine die is gemaakt in Azië - oost. Om Bob tijdig toegang te verlenen tot de virtuele machine, moet Azure de roltoewijzing die Bob toegang verleent tot de virtuele machine globaal repliceren vanaf elke locatie die Bob is.

Diagram showing Azure RBAC data in multiple regions.

Licentievereisten

Het gebruik van deze functie is gratis en is inbegrepen bij uw Azure-abonnement.

Volgende stappen