Tutorial: Gewähren des Zugriffs auf Azure-Ressourcen für eine Gruppe 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 einer Gruppe Zugriff, damit sie 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 eine Gruppe 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 Gruppen in Microsoft Entra ID (oder eine vorhandene Gruppe)
- 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` |
---|---|---|
Group (Gruppe des RBAC-Tutorials) |
Leser | Subscription |
Group (Gruppe des RBAC-Tutorials) |
Mitwirkender | Resource group (rbac-tutorial-resource-group) |
Erstellen einer Gruppe
Zum Zuweisen einer Rolle benötigen Sie einen Benutzer, eine Gruppe oder einen Dienstprinzipal. Ist noch keine Gruppe vorhanden, können Sie eine erstellen.
Erstellen Sie in Azure Cloud Shell mithilfe des Befehls New-MgGroup eine neue Gruppe.
New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false ` -SecurityEnabled:$true -MailNickName "NotSet"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Wenn Sie nicht über die Berechtigungen zum Erstellen von Gruppen verfügen, können Sie es stattdessen mit dem Tutorial: Gewähren des Zugriffs auf Azure-Ressourcen für einen Benutzer mithilfe von Azure PowerShell versuchen.
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Gewähren von Zugriff
Um Zugriff für die Gruppe 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 mit dem Befehl Get-MgGroup die Objekt-ID der Gruppe ab.
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Speichern Sie die Gruppenobjekt-ID in einer Variablen.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
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 : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Speichern Sie den Abonnementbereich in einer Variablen.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Weisen Sie die Rolle Leser der Gruppe im Abonnementbereich zu.
New-AzRoleAssignment -ObjectId $groupId ` -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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Weisen Sie die Rolle Mitwirkender der Gruppe im Ressourcengruppenbereich zu.
New-AzRoleAssignment -ObjectId $groupId ` -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group 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 -ObjectId $groupId -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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
In der Ausgabe sehen Sie, dass die Rolle „Leser“ der Gruppe 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 -ObjectId $groupId -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group 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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
In der Ausgabe sehen Sie, dass die Rollen „Mitwirkender“ und „Leser“ der Gruppe 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 die Gruppe im Ressourcengruppenbereich zu entfernen.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Verwenden Sie den folgenden Befehl, um die Zuweisung der Rolle „Leser“ für die Gruppe im Abonnementbereich zu entfernen.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Bereinigen von Ressourcen
Zum Bereinigen der im Rahmen dieses Tutorials erstellten Ressourcen löschen Sie die Ressourcengruppe und die Gruppe.
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 die Gruppe mithilfe des Befehls Remove-MgGroup.
Remove-MgGroup -GroupID $groupId
Wenn Sie beim Löschen der Gruppe eine Fehlermeldung erhalten, können Sie die Gruppe auch im Portal löschen.