Zelfstudie: Een gebruiker toegang verlenen tot Azure-resources met behulp van Azure PowerShell
Met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) kunt u de toegang tot Azure-resources beheren. In deze zelfstudie geeft u een gebruiker toestemming om alles in een abonnement te bekijken en om alles in een resourcegroep te beheren met Azure PowerShell.
In deze zelfstudie leert u het volgende:
- Een gebruiker op verschillende niveaus toegang geven
- Toegang opvragen
- Toegang intrekken
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
- Machtigingen voor het maken van gebruikers in Microsoft Entra-id (of een bestaande gebruiker hebben)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Roltoewijzingen
In Azure RBAC verleent u toegang door een roltoewijzing te maken. Een roltoewijzing bestaat uit drie elementen: beveiligings-principal, roldefinitie en bereik (ook wel scope of niveau genoemd). Dit zijn de twee roltoewijzingen die u gaat uitvoeren in deze zelfstudie:
Beveiligingsprincipal | Roldefinitie | Bereik |
---|---|---|
User (RBAC Tutorial User) |
Lezer | Abonnement |
User (RBAC Tutorial User) |
Inzender | Resourcegroep (rbac-tutorial-resource-group) |
Een gebruiker maken
Als u een rol wilt toewijzen, hebt u een gebruiker, groep of service-principal nodig. Als u nog geen gebruiker hebt, kunt u er een maken.
Maak in Azure Cloud Shell een wachtwoord dat voldoet aan de vereisten voor wachtwoordcomplexiteit.
$PasswordProfile = @{ Password = "<Password>" }
Maak een nieuwe gebruiker voor uw domein met behulp van de opdracht New-MgUser .
New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile ` -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"
DisplayName Id Mail UserPrincipalName ----------- -- ---- ----------------- RBAC Tutorial User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb rbacuser@example.com
Een brongroep maken
U gaat een resourcegroep maken om te laten zien hoe u een rol kunt toewijzen op het niveau van een resourcegroep.
Vraag een lijst met regiolocaties op met behulp van de opdracht Get-AzLocation.
Get-AzLocation | select Location
Selecteer een locatie bij u in de buurt en wijs deze toe aan een variabele.
$location = "westus"
Maak een nieuwe resourcegroep met de opdracht New-AzResourceGroup.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Toegang verlenen
U verleent toegang aan een groep door met de opdracht New-AzRoleAssignment een rol toe te wijzen. U moet hierbij de beveiligingsprincipal, de roldefinitie en het bereik opgeven.
Vraag de id van uw abonnement op met de opdracht Get-AzSubscription.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Sla het abonnementsbereik op in een variabele.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Wijs de rol Lezer toe aan de gebruiker op abonnementsniveau.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Wijs de rol Inzender toe aan de gebruiker op het niveau van de resourcegroep.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Toegang opvragen
Om de toegang voor het abonnement te controleren, gebruikt u de opdracht Get-AzRoleAssignment om een lijst van de roltoewijzingen weer te geven.
Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
In de uitvoer ziet u dat de rol Lezer (Reader) op abonnementsniveau is toegewezen aan RBAC Tutorial User.
Om de toegang voor de resourcegroep te controleren, gebruikt u de opdracht Get-AzRoleAssignment om een lijst van de roltoewijzingen weer te geven.
Get-AzRoleAssignment -SignInName rbacuser@example.com -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
In de uitvoer ziet u dat zowel de rol Inzender (Contributor) als Lezer (Reader) is toegewezen aan RBAC Tutorial User. De rol Inzender is toegewezen aan de resourcegroep rbac-tutorial-resource-group en de rol Lezer wordt overgenomen op abonnementsniveau.
(Optioneel) Toegang opvragen via Azure Portal
Als u de roltoewijzingen wilt bekijken in Azure Portal, gaat u naar de blade Toegangsbeheer (IAM) voor het abonnement.
Open de blade Toegangsbeheer (IAM) voor de resourcegroep.
Toegang intrekken
U kunt de toegang voor gebruikers, groepen en toepassingen intrekken door met de opdracht Remove-AzRoleAssignment een roltoewijzing te verwijderen.
Gebruik de volgende opdracht om op het niveau van de resourcegroep de toewijzing van de rol Inzender te verwijderen voor de gebruiker.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Gebruik de volgende opdracht om op abonnementsniveau de toewijzing van de rol Lezer te verwijderen voor de gebruiker.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Resources opschonen
Als u de in deze zelfstudie gemaakte resources wilt opschonen, verwijdert u de resourcegroep en de gebruiker.
Verwijder de resourcegroep met de opdracht Remove-AzResourceGroup.
Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
Confirm Are you sure you want to remove resource group 'rbac-tutorial-resource-group' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Wanneer u wordt gevraagd om te bevestigen, typt u Y. Het duurt enkele seconden om te verwijderen.
Verwijder de gebruiker met de opdracht Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id