Wat is op rollen gebaseerd toegangsbeheer (RBAC) voor Azure-resources?What is role-based access control (RBAC) for Azure resources?

Toegangsbeheer voor cloudresources is een uiterst belangrijke functie voor elke organisatie die van de cloud gebruikmaakt.Access management for cloud resources is a critical function for any organization that is using the cloud. Het gebruik van op rollen gebaseerd toegangsbeheer 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.Role-based access control (RBAC) helps you manage who has access to Azure resources, what they can do with those resources, and what areas they have access to.

Op rollen gebaseerd toegangsbeheer is een machtigingssysteem dat is gebouwd op Azure Resource Manager dat een geavanceerd toegangsbeheer van Azure-resources biedt.RBAC is an authorization system built on Azure Resource Manager that provides fine-grained access management of Azure resources.

Wat kan ik doen met op rollen gebaseerd toegangsbeheer?What can I do with RBAC?

Hier volgen enkele voorbeelden van wat u met op rollen gebaseerd toegangsbeheer kunt doen:Here are some examples of what you can do with RBAC:

  • Toestaan dat één gebruiker de virtuele machines in een abonnement kan beheren en een andere gebruiker de virtuele netwerken kan beheren.Allow one user to manage virtual machines in a subscription and another user to manage virtual networks
  • Een DBA-groep toestaan de SQL-databases in een abonnement te beheren.Allow a DBA group to manage SQL databases in a subscription
  • Toestaan dat een gebruiker alle resources in een resourcegroep kan beheren, zoals virtuele machines, websites en subnetten.Allow a user to manage all resources in a resource group, such as virtual machines, websites, and subnets
  • Toestaan dat een toepassing toegang heeft tot alle resources in een resourcegroep.Allow an application to access all resources in a resource group

Aanbevolen procedures voor het gebruik van RBACBest practice for using RBAC

Met RBAC kunt u taken scheiden binnen uw team en alleen de mate van toegang verlenen aan gebruikers die nodig is om de taken uit te voeren.Using RBAC, you can segregate duties within your team and grant only the amount of access to users that they need to perform their jobs. In plaats van iedereen onbeperkte machtigingen te verlenen in uw Azure-abonnement of -resources, kunt u zelf bepalen welke acties er met een bepaalde bereik zijn toegestaan.Instead of giving everybody unrestricted permissions in your Azure subscription or resources, you can allow only certain actions at a particular scope.

Het is een aanbevolen procedure om tijdens het plannen van een strategie voor toegangsbeheer gebruikers minimale bevoegdheden te verlenen om hun werk gedaan te krijgen.When planning your access control strategy, it's a best practice to grant users the least privilege to get their work done. In het volgende diagram wordt een voorgesteld patroon weergegeven voor het gebruik van RBAC.The following diagram shows a suggested pattern for using RBAC.

RBAC en minimale bevoegdheden

Hoe op rollen gebaseerd toegangsbeheer werktHow RBAC works

De manier waarop u de toegang tot resources beheert met behulp van op rollen gebaseerd toegangsbeheer is door roltoewijzingen te maken.The way you control access to resources using RBAC is to create role assignments. Dit is een belangrijke concept om te weten: het is de manier waarop machtigingen worden afgedwongen.This is a key concept to understand – it’s how permissions are enforced. Een roltoewijzing bestaat uit drie elementen: beveiligings-principal, roldefinitie en bereik (ook wel scope of niveau genoemd).A role assignment consists of three elements: security principal, role definition, and scope.

Beveiligings-principalSecurity principal

Een beveiligings-principal is een object dat een gebruiker, groep, service-principal of beheerde identiteit vertegenwoordigt die toegang tot Azure-resources aanvraagt.A security principal is an object that represents a user, group, service principal, or managed identity that is requesting access to Azure resources.

Beveiligings-principal voor een roltoewijzing

  • Gebruiker: een persoon een profiel heeft in Azure Active Directory.User - An individual who has a profile in Azure Active Directory. U kunt ook rollen toewijzen aan gebruikers in andere tenants.You can also assign roles to users in other tenants. Zie Azure Active Directory B2B voor meer informatie over gebruikers in andere organisaties.For information about users in other organizations, see Azure Active Directory B2B.
  • Groep: een aantal gebruikers dat in Azure Active Directory is gemaakt.Group - A set of users created in Azure Active Directory. Wanneer u een rol aan een groep toewijst, hebben alle gebruikers binnen die groep die rol.When you assign a role to a group, all users within that group have that role.
  • Service-principal: een beveiligings-id die wordt gebruikt door toepassingen of services om toegang tot specifieke Azure-resources te krijgen.Service principal - A security identity used by applications or services to access specific Azure resources. U kunt het zien als een gebruikersidentiteit (gebruikersnaam en wachtwoord of certificaat) voor een toepassing.You can think of it as a user identity (username and password or certificate) for an application.
  • Beheerde identiteit - een identiteit in Azure Active Directory die automatisch wordt beheerd door Azure.Managed identity - An identity in Azure Active Directory that is automatically managed by Azure. Beheerde identiteiten worden doorgaans gebruikt bij het ontwikkelen van cloudtoepassingen voor het beheren van de referenties voor verificatie bij Azure-services.You typically use managed identities when developing cloud applications to manage the credentials for authenticating to Azure services.

RoldefinitieRole definition

Een roldefinitie is een verzameling machtigingen.A role definition is a collection of permissions. Dit wordt soms gewoon een rol genoemd.It's sometimes just called a role. Een roldefinitie beschijft de bewerkingen die kunnen worden uitgevoerd, zoals lezen, schrijven en verwijderen.A role definition lists the operations that can be performed, such as read, write, and delete. Rollen kunnen op algemeen zijn, zoals eigenaar, of specifiek, zoals de lezer van de virtuele machine.Roles can be high-level, like owner, or specific, like virtual machine reader.

Roldefinitie voor een roltoewijzing

Azure bevat diverse ingebouwde rollen die u kunt gebruiken.Azure includes several built-in roles that you can use. Hier volgen vier fundamentele ingebouwde rollen.The following lists four fundamental built-in roles. De eerste drie zijn op alle resourcetypen van toepassing.The first three apply to all resource types.

  • Eigenaar: heeft volledige toegang tot alle resources, waaronder het recht om toegang aan anderen te delegeren.Owner - Has full access to all resources including the right to delegate access to others.
  • Inzender: kan alle typen Azure-resources maken en beheren, maar kan anderen geen toegang verlenen.Contributor - Can create and manage all types of Azure resources but can’t grant access to others.
  • Lezer: kan bestaande Azure-resources bekijken.Reader - Can view existing Azure resources.
  • Beheerder gebruikerstoegang: kan gebruikerstoegang tot Azure-resources beheren.User Access Administrator - Lets you manage user access to Azure resources.

De overige ingebouwde rollen zijn bedoeld voor het beheer van specifieke Azure-resources.The rest of the built-in roles allow management of specific Azure resources. Met de rol Inzender voor virtuele machines kan een gebruiker bijvoorbeeld virtuele machines maken en beheren.For example, the Virtual Machine Contributor role allows a user to create and manage virtual machines. Als de ingebouwde rollen niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste rollen maken voor Azure-resources.If the built-in roles don't meet the specific needs of your organization, you can create your own custom roles for Azure resources.

Azure heeft gegevens bewerkingen waarmee u toegang tot gegevens in een object kunt verlenen.Azure has data operations that enable you to grant access to data within an object. Als een gebruiker bijvoorbeeld toegang heeft tot gegevens in een opslagaccount, kan deze de blobs of berichten in dat opslagaccount lezen.For example, if a user has read data access to a storage account, then they can read the blobs or messages within that storage account. Zie Roldefinities voor Azure-resources begrijpen voor meer informatie.For more information, see Understand role definitions for Azure resources.

ScopeScope

Bereik is de set resources waarop de toegang van toepassing is.Scope is the set of resources that the access applies to. Wanneer u een rol toewijst, kunt u de acties die zijn toegestaan verder beperken door een bereik te definiëren.When you assign a role, you can further limit the actions allowed by defining a scope. Dit is handig als u van iemand een Inzender voor websites wilt maken, maar slechts voor één resourcegroep.This is helpful if you want to make someone a Website Contributor, but only for one resource group.

In Azure kunt u een bereik op meerdere niveaus opgeven: beheergroep, abonnement, resourcegroep of resource.In Azure, you can specify a scope at multiple levels: management group, subscription, resource group, or resource. Bereiken zijn gestructureerd in een bovenliggende/onderliggende relatie.Scopes are structured in a parent-child relationship.

Bereik voor een roltoewijzing

Wanneer u toegang op een bovenliggend bereik verleent, worden deze machtigingen overgenomen door de onderliggende bereiken.When you grant access at a parent scope, those permissions are inherited to the child scopes. Bijvoorbeeld:For example:

  • Als u de Eigenaar-rol aan een gebruiker bij het bereik van de beheergroep toewijst, kan die gebruiker alles in alle abonnementen in de beheergroep beheren.If you assign the Owner role to a user at the management group scope, that user can manage everything in all subscriptions in the management group.
  • Als u de rol van lezer toewijst aan een groep in het bereik van het abonnement, kunnen de leden van die groep elke resourcegroep en de resource in het abonnement bekijken.If you assign the Reader role to a group at the subscription scope, the members of that group can view every resource group and resource in the subscription.
  • Als u de rol van inzender toewijst aan een toepassing in het bereik van de resource, kunnen hiermee resources van alle typen in die resourcegroep worden beheerd, maar geen andere resourcegroepen in het abonnement.If you assign the Contributor role to an application at the resource group scope, it can manage resources of all types in that resource group, but not other resource groups in the subscription.

RoltoewijzingenRole assignments

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.A role assignment is the process of attaching a role definition to a user, group, service principal, or managed identity at a particular scope for the purpose of granting access. Toegang wordt verleend door een roltoewijzing te maken en toegang kan worden ingetrokken door een roltoewijzing te verwijderen.Access is granted by creating a role assignment, and access is revoked by removing a role assignment.

Het volgende diagram toont een voorbeeld van een roltoewijzing.The following diagram shows an example of a role assignment. In dit voorbeeld wordt aan de groep Marketing de rol van inzender toegewezen voor de resourcegroep pharma-sales.In this example, the Marketing group has been assigned the Contributor role for the pharma-sales resource group. Dit betekent dat gebruikers in de groep Marketing een Azure-resource in de resourcegroep pharma-sales kunnen maken of beheren.This means that users in the Marketing group can create or manage any Azure resource in the pharma-sales resource group. Gebruikers in de groep Marketing hebben geen toegang tot resources buiten de resourcegroep pharma-sales, tenzij ze deel uitmaken van een andere roltoewijzing.Marketing users do not have access to resources outside the pharma-sales resource group, unless they are part of another role assignment.

Roltoewijzing om toegang te beheren

U kunt roltoewijzingen maken met behulp van Azure Portal, Azure CLI, Azure PowerShell, Azure-SDK's of REST-API's.You can create role assignments using the Azure portal, Azure CLI, Azure PowerShell, Azure SDKs, or REST APIs. U kunt Maxi maal 2000 roltoewijzingen in elk abonnement en 500 roltoewijzingen in elke beheer groep.You can have up to 2000 role assignments in each subscription and 500 role assignments in each management group. Om roltoewijzingen te maken en te verwijderen, moet u een Microsoft.Authorization/roleAssignments/*-machtiging hebben.To create and remove role assignments, you must have Microsoft.Authorization/roleAssignments/* permission. Deze machtiging wordt verleend via de rol van eigenaar of administrator.This permission is granted through the Owner or User Access Administrator roles.

Meervoudige roltoewijzingenMultiple role assignments

Wat gebeurt er wanneer er meerdere overlappende roltoewijzingen zijn?So what happens if you have multiple overlapping role assignments? RBAC is een additief model, dus uw effectieve machtigingen zijn de som van uw roltoewijzingen.RBAC is an additive model, so your effective permissions are the addition of your role assignments. Bekijk het volgende voorbeeld, waarbij aan een gebruiker de rol Inzender wordt toegekend in het abonnementsbereik en de rol Lezer in een resourcegroep.Consider the following example where a user is granted the Contributor role at the subscription scope and the Reader role on a resource group. De combinatie van de Inzender- en Lezer-machtigingen is effectief gelijk aan de rol Inzender voor de resourcegroep.The addition of the Contributor permissions and the Reader permissions is effectively the Contributor role for the resource group. Daarom heeft in dit geval de toewijzing van de rol Lezer geen impact.Therefore, in this case, the Reader role assignment has no impact.

Meervoudige roltoewijzingen

WeigeringstoewijzingenDeny assignments

Voorheen was RBAC een model op basis van alleen-toestaan zonder de mogelijkheid tot weigeren, maar nu ondersteunt RBAC in beperkte mate weigeringstoewijzingen.Previously, RBAC was an allow-only model with no deny, but now RBAC supports deny assignments in a limited way. Ongeveer op dezelfde manier als een roltoewijzing verbindt een weigeringstoewijzing een reeks acties aan een gebruiker, groep, service-principal of beheerde identiteit met een bepaald bereik met het doel toegang te weigeren.Similar to a role assignment, a deny assignment attaches a set of deny actions to a user, group, service principal, or managed identity at a particular scope for the purpose of denying access. Een roltoewijzing definieert een set acties die zijn toegestaan, terwijl een weigeringstoewijzing een set acties definieert die niet zijn toegestaan.A role assignment defines a set of actions that are allowed, while a deny assignment defines a set of actions that are not allowed. Met andere woorden, weigeringstoewijzingen voorkomen dat gebruikers opgegeven acties uitvoeren, zelfs als een roltoewijzing hen deze toegang verleent.In other words, deny assignments block users from performing specified actions even if a role assignment grants them access. Weigeringstoewijzingen hebben voorrang op roltoewijzingen.Deny assignments take precedence over role assignments. Zie voor meer informatie over het weigeren van toewijzingen voor Azure-resources.For more information, see Understand deny assignments for Azure resources.

Hoe RBAC bepaalt of een gebruiker toegang tot een resource heeftHow RBAC determines if a user has access to a resource

Hier volgen de stappen op hoog niveau die RBAC gebruikt om te bepalen of u toegang tot een resource hebt op het beheervlak.The following are the high-level steps that RBAC uses to determine if you have access to a resource on the management plane. Het is handig om dit te begrijpen als u probeert een toegangsprobleem op te lossen.This is helpful to understand if you are trying to troubleshoot an access issue.

  1. Een gebruiker (of service-principal) krijgt een token voor Azure Resource Manager.A user (or service principal) acquires a token for Azure Resource Manager.

    Het token bevat groepslidmaatschappen van de gebruiker (met inbegrip van overdraagbare groepslidmaatschappen).The token includes the user's group memberships (including transitive group memberships).

  2. De gebruiker voert een REST API-aanroep uit naar Azure Resource Manager met het gekoppelde token.The user makes a REST API call to Azure Resource Manager with the token attached.

  3. Azure Resource Manager haalt alle roltoewijzingen en weigeringstoewijzingen op die betrekking hebben op de resource waarop de actie wordt ondernomen.Azure Resource Manager retrieves all the role assignments and deny assignments that apply to the resource upon which the action is being taken.

  4. 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.Azure Resource Manager narrows the role assignments that apply to this user or their group and determines what roles the user has for this resource.

  5. Azure Resource Manager bepaalt of de actie in de API-aanroep is opgenomen in de rollen die de gebruiker voor deze resource heeft.Azure Resource Manager determines if the action in the API call is included in the roles the user has for this resource.

  6. Als de gebruiker geen rol met de actie heeft in het aangevraagde bereik, wordt er geen toegang verleend.If the user doesn’t have a role with the action at the requested scope, access is not granted. Anders controleert Azure Resource Manager of er een weigeringstoewijzing van toepassing is.Otherwise, Azure Resource Manager checks if a deny assignment applies.

  7. Als de weigeringstoewijzing van toepassing is, wordt toegang geblokkeerd.If a deny assignment applies, access is blocked. Anders wordt toegang verleend.Otherwise access is granted.

LicentievereistenLicense requirements

Met deze functie is gratis verkrijgbaar en opgenomen in uw Azure-abonnement.Using this feature is free and included in your Azure subscription.

Volgende stappenNext steps