Roltoewijzingen toevoegen of verwijderen met behulp van Azure RBAC en Azure PowerShellAdd or remove role assignments using Azure RBAC and Azure PowerShell

Op rollen gebaseerd toegangs beheer (RBAC) van Azure is het autorisatie systeem dat u gebruikt om de toegang tot Azure-resources te beheren.Azure role-based access control (RBAC) is the authorization system you use to manage access to Azure resources. Als u toegang wilt verlenen, wijst u rollen toe aan gebruikers, groepen, service-principals of beheerde identiteiten voor een bepaald bereik.To grant access, you assign roles to users, groups, service principals, or managed identities at a particular scope. in dit artikel wordt beschreven hoe u rollen toewijst met behulp van Azure PowerShell.Op rollen gebaseerd toegangs beheer (RBAC) van Azure is het autorisatie systeem dat u gebruikt om de toegang tot Azure-resources te beheren.Azure role-based access control (RBAC) is the authorization system you use to manage access to Azure resources. Als u toegang wilt verlenen, wijst u rollen toe aan gebruikers, groepen, service-principals of beheerde identiteiten voor een bepaald bereik.To grant access, you assign roles to users, groups, service principals, or managed identities at a particular scope. This article describes how to assign roles using Azure PowerShell.

Notitie

Dit artikel is bijgewerkt voor het gebruik van de nieuwe Azure PowerShell Az-module.This article has been updated to use the new Azure PowerShell Az module. De AzureRM-module kan nog worden gebruikt en krijgt bugoplossingen tot ten minste december 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Zie voor meer informatie over de nieuwe Az-module en compatibiliteit met AzureRM Introductie van de nieuwe Az-module van Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Raadpleeg Azure PowerShell installeren voor instructies over de installatie van de Az-module.For Az module installation instructions, see Install Azure PowerShell.

VereistenPrerequisites

Om roltoewijzingen toe te voegen of te verwijderen, hebt u het volgende nodig:To add or remove role assignments, you must have:

Object-Id's ophalenGet object IDs

Als u roltoewijzingen wilt toevoegen of verwijderen, moet u mogelijk de unieke ID van een object opgeven.To add or remove role assignments, you might need to specify the unique ID of an object. De ID heeft de volgende indeling: 11111111-1111-1111-1111-111111111111.The ID has the format: 11111111-1111-1111-1111-111111111111. U kunt de ID ophalen met behulp van de Azure Portal of Azure PowerShell.You can get the ID using the Azure portal or Azure PowerShell.

GebruikerUser

U kunt Get-AzADUsergebruiken om de object-id voor een Azure AD-gebruiker op te halen.To get the object ID for an Azure AD user, you can use Get-AzADUser.

Get-AzADUser -StartsWith <string_in_quotes>
(Get-AzADUser -DisplayName <name_in_quotes>).id

GroepGroup

U kunt Get-AzADGroupgebruiken om de object-id voor een Azure AD-groep op te halen.To get the object ID for an Azure AD group, you can use Get-AzADGroup.

Get-AzADGroup -SearchString <group_name_in_quotes>
(Get-AzADGroup -DisplayName <group_name_in_quotes>).id

ToepassingApplication

U kunt Get-AzADServicePrincipalgebruiken om de object-id op te halen voor een Azure AD-Service-Principal (identiteit die wordt gebruikt door een toepassing).To get the object ID for an Azure AD service principal (identity used by an application), you can use Get-AzADServicePrincipal. Gebruik voor een service-principal de object-ID en niet de toepassings-id.For a service principal, use the object ID and not the application ID.

Get-AzADServicePrincipal -SearchString <service_name_in_quotes>
(Get-AzADServicePrincipal -DisplayName <service_name_in_quotes>).id

Een roltoewijzing toevoegenAdd a role assignment

Als u in RBAC toegang wilt verlenen, voegt u een roltoewijzing toe.In RBAC, to grant access, you add a role assignment.

Gebruiker in een bereik van een resource groepUser at a resource group scope

Als u een roltoewijzing wilt toevoegen voor een gebruiker in een bereik van een resource groep, gebruikt u New-AzRoleAssignment.To add a role assignment for a user at a resource group scope, use New-AzRoleAssignment.

New-AzRoleAssignment -SignInName <email_or_userprincipalname> -RoleDefinitionName <role_name> -ResourceGroupName <resource_group_name>
PS C:\> New-AzRoleAssignment -SignInName alain@example.com -RoleDefinitionName "Virtual Machine Contributor" -ResourceGroupName pharma-sales


RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/pr
                     oviders/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Alain Charon
SignInName         : alain@example.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

De unieke rol-ID gebruikenUsing the unique role ID

Er zijn een aantal keren dat een rolnaam kan worden gewijzigd, bijvoorbeeld:There are a couple of times when a role name might change, for example:

  • U gebruikt uw eigen aangepaste rol en u besluit de naam te wijzigen.You are using your own custom role and you decide to change the name.
  • U gebruikt een preview-functie met (preview) in de naam.You are using a preview role that has (Preview) in the name. Wanneer de rol wordt vrijgegeven, wordt de naam van de rol gewijzigd.When the role is released, the role is renamed.

Belangrijk

Een preview-versie wordt zonder service level agreement gegeven en wordt niet aanbevolen voor productie werkbelastingen.A preview version is provided without a service level agreement, and it's not recommended for production workloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.Certain features might not be supported or might have constrained capabilities. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Zelfs als een rol een andere naam heeft gekregen, wordt de rol-ID niet gewijzigd.Even if a role is renamed, the role ID does not change. Als u scripts of automatisering gebruikt om roltoewijzingen te maken, is het een best practice om de unieke rol-ID te gebruiken in plaats van de rolnaam.If you are using scripts or automation to create your role assignments, it's a best practice to use the unique role ID instead of the role name. Als de naam van een rol wordt gewijzigd, zijn uw scripts waarschijnlijker goed.Therefore, if a role is renamed, your scripts are more likely to work.

Als u een roltoewijzing wilt toevoegen met behulp van de unieke rol-ID in plaats van de rolnaam, gebruikt u New-AzRoleAssignment.To add a role assignment using the unique role ID instead of the role name, use New-AzRoleAssignment.

New-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionId <role_id> -ResourceGroupName <resource_group_name>

In het volgende voor beeld wordt de rol Inzender voor virtuele machines toegewezen aan Alain@example.com -gebruiker op het Pharma-Sales- resource groeps bereik.The following example assigns the Virtual Machine Contributor role to alain@example.com user at the pharma-sales resource group scope. Als u de unieke rol-ID wilt ophalen, kunt u Get-AzRoleDefinition gebruiken of ingebouwde rollen voor Azure-resourcesweer geven.To get the unique role ID, you can use Get-AzRoleDefinition or see Built-in roles for Azure resources.

PS C:\> New-AzRoleAssignment -ObjectId 44444444-4444-4444-4444-444444444444 -RoleDefinitionId 9980e02c-c2be-4d73-94e8-173b1dc7cf3c -Scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Alain Charon
SignInName         : alain@example.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

Groeperen in een resource bereikGroup at a resource scope

Als u een roltoewijzing wilt toevoegen voor een groep in een resource bereik, gebruikt u New-AzRoleAssignment.To add a role assignment for a group at a resource scope, use New-AzRoleAssignment. Zie object-Id's ophalenvoor informatie over het ophalen van de object-id van de groep.For information about how to get the object ID of the group, see Get object IDs.

New-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName <role_name> -ResourceName <resource_name> -ResourceType <resource_type> -ParentResource <parent resource> -ResourceGroupName <resource_group_name>
PS C:\> Get-AzADGroup -SearchString "Pharma"

SecurityEnabled DisplayName         Id                                   Type
--------------- -----------         --                                   ----
           True Pharma Sales Admins aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa Group

PS C:\> New-AzRoleAssignment -ObjectId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa -RoleDefinitionName "Virtual Machine Contributor" -ResourceName RobertVirtualNetwork -ResourceType Microsoft.Network/virtualNetworks -ResourceGroupName RobertVirtualNetworkResourceGroup

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
                     /providers/Microsoft.Network/virtualNetworks/RobertVirtualNetwork/providers/Microsoft.Authorizat
                     ion/roleAssignments/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
                     /providers/Microsoft.Network/virtualNetworks/RobertVirtualNetwork
DisplayName        : Pharma Sales Admins
SignInName         :
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
ObjectType         : Group
CanDelegate        : False

Toepassing op een abonnements bereikApplication at a subscription scope

Als u een roltoewijzing wilt toevoegen voor een toepassing op een abonnements bereik, gebruikt u New-AzRoleAssignment.To add a role assignment for an application at a subscription scope, use New-AzRoleAssignment. Zie object-Id's ophalenvoor informatie over het ophalen van de object-id van de toepassing.For information about how to get the object ID of the application, see Get object IDs.

New-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName <role_name> -Scope /subscriptions/<subscription_id>
PS C:\> New-AzRoleAssignment -ObjectId 77777777-7777-7777-7777-777777777777 -RoleDefinitionName "Reader" -Scope /subscriptions/00000000-0000-0000-0000-000000000000

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/66666666-6666-6666-6666-666666666666
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName        : MyApp1
SignInName         :
RoleDefinitionName : Reader
RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
ObjectId           : 77777777-7777-7777-7777-777777777777
ObjectType         : ServicePrincipal
CanDelegate        : False

Gebruiker op een beheer groeps bereikUser at a management group scope

Gebruik New-AzRoleAssignmentom een roltoewijzing toe te voegen voor een gebruiker in een bereik van een beheer groep.To add a role assignment for a user at a management group scope, use New-AzRoleAssignment. Als u de beheer groep-ID wilt ophalen, kunt u deze vinden op de Blade beheer groepen in de Azure portal of u kunt Get-AzManagementGroupgebruiken.To get the management group ID, you can find it on the Management groups blade in the Azure portal or you can use Get-AzManagementGroup.

New-AzRoleAssignment -SignInName <email_or_userprincipalname> -RoleDefinitionName <role_name> -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> New-AzRoleAssignment -SignInName alain@example.com -RoleDefinitionName "Billing Reader" -Scope /providers/Microsoft.Management/managementGroups/marketing-group

RoleAssignmentId   : /providers/Microsoft.Management/managementGroups/marketing-group/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
Scope              : /providers/Microsoft.Management/managementGroups/marketing-group
DisplayName        : Alain Charon
SignInName         : alain@example.com
RoleDefinitionName : Billing Reader
RoleDefinitionId   : fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

Roltoewijzing verwijderenRemove a role assignment

Als u de toegang wilt verwijderen, verwijdert u in RBAC een roltoewijzing met behulp van Remove-AzRoleAssignment.In RBAC, to remove access, you remove a role assignment by using Remove-AzRoleAssignment.

In het volgende voor beeld wordt de toewijzing van de rol Inzender voor virtuele machines uit de Alain@example.com -gebruiker voor de resource groep Pharma-Sales verwijderd:The following example removes the Virtual Machine Contributor role assignment from the alain@example.com user on the pharma-sales resource group:

PS C:\> Remove-AzRoleAssignment -SignInName alain@example.com -RoleDefinitionName "Virtual Machine Contributor" -ResourceGroupName pharma-sales

In het volgende voor beeld wordt de < role_name > rol verwijderd uit < object_id > op een abonnements bereik.The following example removes the <role_name> role from <object_id> at a subscription scope.

Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName <role_name> -Scope /subscriptions/<subscription_id>

In het volgende voor beeld wordt de < role_name > rol verwijderd uit < object_id > in het bereik van de beheer groep.The following example removes the <role_name> role from <object_id> at the management group scope.

Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName <role_name> -Scope /providers/Microsoft.Management/managementGroups/<group_id>

Als u het volgende fout bericht wordt weer gegeven: ' de opgegeven informatie is niet toegewezen aan een roltoewijzing ', moet u ook de -Scope-of -ResourceGroupName-para meters opgeven.If you get the error message: "The provided information does not map to a role assignment", make sure that you also specify the -Scope or -ResourceGroupName parameters. Zie problemen met RBAC voor Azure-resources oplossenvoor meer informatie.For more information, see Troubleshoot RBAC for Azure resources.

Volgende stappenNext steps