Tutorial: Gewähren des Zugriffs auf Azure-Ressourcen für einen Benutzer mithilfe von Azure PowerShell
Der Zugriff auf Azure-Ressourcen wird mithilfe der rollenbasierten Zugriffssteuerung in Azure (Azure RBAC) verwaltet. In diesem Tutorial gewähren Sie einem Benutzer Zugriff, damit er mithilfe von Azure PowerShell alle Elemente in einem Abonnement anzeigen und alle Elemente in einer Ressourcengruppe verwalten kann.
In diesem Tutorial lernen Sie Folgendes:
- Gewähren des Zugriffs für einen Benutzer für verschiedene Bereiche
- Auflisten des Zugriffs
- Zugriff entfernen
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Voraussetzungen
Zum Durcharbeiten dieses Tutorials benötigen Sie Folgendes:
- Berechtigungen zum Erstellen von Benutzern in Microsoft Entra ID (oder über einen vorhandenen Benutzer)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Rollenzuweisungen
In Azure RBAC erstellen Sie zum Gewähren des Zugriffs eine Rollenzuweisung. Eine Rollenzuweisung besteht aus drei Elementen: Sicherheitsprinzipal, Rollendefinition und Bereich. In diesem Tutorial führen Sie die zwei folgenden Rollenzuweisungen aus:
Sicherheitsprinzipal | Rollendefinition | `Scope` |
---|---|---|
Benutzer (Benutzer des RBAC-Tutorials) |
Leser | Subscription |
Benutzer (Benutzer des RBAC-Tutorials) |
Mitwirkender | Resource group (rbac-tutorial-resource-group) |
Erstellen eines Benutzers
Zum Zuweisen einer Rolle benötigen Sie einen Benutzer, eine Gruppe oder einen Dienstprinzipal. Ist noch kein Benutzer vorhanden, können Sie einen erstellen.
Erstellen Sie in Azure Cloud Shell ein Kennwort, das den Anforderungen an die Komplexität von Kennwörtern entspricht.
$PasswordProfile = @{ Password = "<Password>" }
Erstellen Sie mit dem Befehl New-MgUser einen neuen Benutzer für Ihre Domäne.
New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile ` -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"
DisplayName Id Mail UserPrincipalName ----------- -- ---- ----------------- RBAC Tutorial User 11111111-1111-1111-1111-111111111111 rbacuser@example.com
Erstellen einer Ressourcengruppe
Sie verwenden eine Ressourcengruppe, um zu veranschaulichen, wie eine Rolle im Ressourcengruppenbereich zugewiesen wird.
Rufen Sie mit dem Befehl Get-AzLocation eine Liste der Regionsstandorte ab.
Get-AzLocation | select Location
Wählen Sie einen Standort in Ihrer Nähe, und weisen Sie ihn einer Variablen zu.
$location = "westus"
Erstellen Sie mit dem Befehl New-AzResourceGroup eine neue Ressourcengruppe.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
Gewähren von Zugriff
Um Zugriff für den Benutzer zu gewähren, verwenden Sie den Befehl New-AzRoleAssignment zum Zuweisen einer Rolle. Sie müssen den Sicherheitsprinzipal, die Rollendefinition und den Bereich angeben.
Rufen Sie die ID Ihres Abonnements mithilfe des Befehls Get-AzSubscription ab.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : 22222222-2222-2222-2222-222222222222 State : Enabled
Speichern Sie den Abonnementbereich in einer Variablen.
$subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
Weisen Sie die Rolle Leser dem Benutzer im Abonnementbereich zu.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/44444444-4444-4444-4444-444444444444 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Weisen Sie die Rolle Mitwirkender dem Benutzer im Ressourcengruppenbereich zu.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333 Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Auflisten des Zugriffs
Um den Zugriff für das Abonnement zu überprüfen, listen Sie mithilfe des Befehls Get-AzRoleAssignment die Rollenzuweisungen auf.
Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScope
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
In der Ausgabe sehen Sie, dass die Rolle „Leser“ dem Benutzer des RBAC-Tutorials im Abonnementbereich zugewiesen ist.
Um den Zugriff für die Ressourcengruppe zu überprüfen, listen Sie mit dem Befehl Get-AzRoleAssignment die Rollenzuweisungen auf.
Get-AzRoleAssignment -SignInName rbacuser@example.com -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333 Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
In der Ausgabe sehen Sie, dass die Rollen „Mitwirkender“ und „Leser“ dem Benutzer des RBAC-Tutorials zugewiesen sind. Die Rolle „Mitwirkender“ befindet sich im Bereich „rbac-tutorial-resource-group“, und die Rolle „Leser“ wird im Abonnementbereich geerbt.
(Optional) Auflisten des Zugriffs über das Azure-Portal
Wenn Sie die Darstellung der Rollenzuweisungen im Azure-Portal anzeigen möchten, sehen Sie sich das Blatt Zugriffssteuerung (IAM) für das Abonnement an.
Sehen Sie sich das Blatt Zugriffssteuerung (IAM) für die Ressourcengruppe an.
Zugriff entfernen
Verwenden Sie zum Entfernen des Zugriffs für Benutzer, Gruppen und Anwendungen Remove-AzRoleAssignment, um eine Rollenzuweisung zu entfernen.
Verwenden Sie den folgenden Befehl, um die Zuweisung der Rolle „Mitwirkender“ für den Benutzer im Ressourcengruppenbereich zu entfernen.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Verwenden Sie den folgenden Befehl, um die Zuweisung der Rolle „Leser“ für den Benutzer im Abonnementbereich zu entfernen.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Bereinigen von Ressourcen
Zum Bereinigen der im Rahmen dieses Tutorials erstellten Ressourcen löschen Sie die Ressourcengruppe und den Benutzer.
Löschen Sie die Ressourcengruppe mithilfe des Befehls 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"):
Wenn Sie zum Bestätigen aufgefordert werden, geben Sie Y ein. Es dauert einige Sekunden, bis der Löschvorgang abgeschlossen ist.
Löschen Sie den Benutzer mithilfe des Befehls Remove-MgUser.
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id