Freigeben über


Lernprogramm: Gewähren eines Gruppenzugriffs auf Azure-Ressourcen mithilfe von Azure PowerShell

Die rollenbasierte Zugriffssteuerung (Azure RBAC) ist die Art und Weise, wie Sie den Zugriff auf Azure-Ressourcen verwalten. In diesem Lernprogramm gewähren Sie einer Gruppe den Zugriff, um alle Inhalte eines Abonnements anzeigen und alle Ressourcen innerhalb einer Ressourcengruppe mithilfe von Azure PowerShell verwalten zu können.

In diesem Tutorial erfahren Sie, wie:

  • Zugriff für eine Gruppe auf verschiedenen Ebenen gewähren
  • Listenzugriff
  • Zugriff entfernen

Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, 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

Um dieses Lernprogramm abzuschließen, benötigen Sie Folgendes:

Rollenzuweisungen

Wenn Sie in Azure RBAC Zugriff gewähren möchten, erstellen Sie eine Rollenzuweisung. Eine Rollenzuweisung besteht aus drei Elementen: Sicherheitsprinzipal, Rollendefinition und Bereich. Hier sind die beiden Rollenzuweisungen, die Sie in diesem Tutorial vornehmen:

Sicherheitsprinzipal Rollendefinition Umfang
Gruppe
(RBAC-Lernprogrammgruppe)
Reader Subscription
Gruppe
(RBAC-Lernprogrammgruppe)
Contributor Ressourcengruppe
(rbac-tutorial-resource-group)

Rollenzuweisungen für eine Gruppe

Erstellen einer Gruppe

Um eine Rolle zuzuweisen, benötigen Sie einen Benutzer, eine Gruppe oder einen Dienstprinzipal. Wenn Sie noch keine Gruppe haben, können Sie eine erstellen.

  • Erstellen Sie in Azure Cloud Shell eine neue Gruppe mit dem Befehl "New-MgGroup ".

    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 berechtigungen zum Erstellen von Gruppen verfügen, können Sie das Lernprogramm ausprobieren: Gewähren Sie stattdessen einen Benutzerzugriff auf Azure-Ressourcen mithilfe von Azure PowerShell .

Erstellen einer Ressourcengruppe

Sie verwenden eine Ressourcengruppe, um zu zeigen, wie eine Rolle in einem Ressourcengruppenbereich zugewiesen wird.

  1. Dient zum Abrufen einer Liste von Regionenstandorten mithilfe des Befehls "Get-AzLocation ".

    Get-AzLocation | select Location
    
  2. Wählen Sie einen Ort in ihrer Nähe aus, und weisen Sie ihn einer Variablen zu.

    $location = "westus"
    
  3. Erstellen Sie eine neue Ressourcengruppe mit dem Befehl "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
    

Gewähren von Zugriff

Um der Gruppe Zugriff zu gewähren, verwenden Sie den Befehl "New-AzRoleAssignment ", um eine Rolle zuzuweisen. Sie müssen den Sicherheitsprinzipal, die Rollendefinition und den Bereich angeben.

  1. Rufen Sie die Objekt-ID der Gruppe mithilfe des Befehls "Get-MgGroup " ab.

    Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet                   {}
    
  2. Speichern Sie die Gruppenobjekt-ID in einer Variablen.

    $groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    
  3. Rufen Sie die ID Ihres Abonnements mit dem Befehl "Get-AzSubscription " ab.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee
    State    : Enabled
    
  4. Speichern Sie den Abonnementbereich in einer Variablen.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  5. 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
    
  6. Weisen Sie der Gruppe im Kontext der Ressourcengruppe die Rolle "Mitwirkender" 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
    

Listenzugriff

  1. Um den Zugriff für das Abonnement zu überprüfen, verwenden Sie den Befehl "Get-AzRoleAssignment ", um die Rollenzuweisungen auflisten zu können.

    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.

  2. Um den Zugriff für die Ressourcengruppe zu überprüfen, verwenden Sie den Befehl "Get-AzRoleAssignment ", um die Rollenzuweisungen auflisten zu können.

    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

  1. Wenn Sie die Darstellung der Rollenzuweisungen im Azure-Portal anzeigen möchten, sehen Sie sich das Blatt Zugriffssteuerung (IAM) für das Abonnement an.

    Rollenzuweisungen für eine Gruppe auf Abonnementebene

  2. Sehen Sie sich das Blatt Zugriffssteuerung (IAM) für die Ressourcengruppe an.

    Rollenzuweisungen für eine Gruppe im Ressourcengruppenbereich

Zugriff entfernen

Um den Zugriff für Benutzer, Gruppen und Anwendungen zu entfernen, verwenden Sie Remove-AzRoleAssignment , um eine Rollenzuweisung zu entfernen.

  1. 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"
    
  2. 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

Um die von diesem Lernprogramm erstellten Ressourcen zu bereinigen, löschen Sie die Ressourcengruppe und die Gruppe.

  1. 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"):
    
  2. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie "Y" ein. Das Löschen dauert einige Sekunden.

  3. Löschen Sie die Gruppe mithilfe des Befehls "Remove-MgGroup ".

    Remove-MgGroup -GroupID $groupId
    

    Wenn beim Löschen der Gruppe eine Fehlermeldung angezeigt wird, können Sie die Gruppe auch im Portal löschen.

Nächste Schritte