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 des Azure Az PowerShell-Moduls. 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:

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)

Role assignments for a user

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.

  1. Erstellen Sie in Azure Cloud Shell ein Kennwort, das den Anforderungen an die Komplexität von Kennwörtern entspricht.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. 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.

  1. Rufen Sie mit dem Befehl Get-AzLocation eine Liste der Regionsstandorte ab.

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

    $location = "westus"
    
  3. 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.

  1. 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
    
  2. Speichern Sie den Abonnementbereich in einer Variablen.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  3. 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
    
  4. 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

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

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

  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.

    Role assignments for a user at subscription scope

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

    Role assignments for a user at resource group scope

Zugriff entfernen

Verwenden Sie zum Entfernen des Zugriffs für Benutzer, Gruppen und Anwendungen Remove-AzRoleAssignment, um eine Rollenzuweisung zu entfernen.

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

  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 zum Bestätigen aufgefordert werden, geben Sie Y ein. Es dauert einige Sekunden, bis der Löschvorgang abgeschlossen ist.

  3. Löschen Sie den Benutzer mithilfe des Befehls Remove-MgUser.

    $User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'"
    Remove-MgUser -UserId $User.Id
    

Nächste Schritte