Självstudie: Bevilja en användare åtkomst till Azure-resurser med Hjälp av Azure PowerShell

Azure-rollbaserad åtkomstkontroll (Azure RBAC) är sättet som du hantera åtkomst till Azure-resurser. I den här självstudien kommer du at ge en användare åtkomst för att visa allt i en prenumeration och hantera allt innehåll i en resursgrupp med hjälp av Azure PowerShell.

I den här självstudien lär du dig att:

  • Beviljar åtkomst till en användare med olika omfång
  • Lista för åtkomst
  • Ta bort åtkomst

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Förutsättningar

För att kunna genomföra den här kursen behöver du följande:

Rolltilldelningar

I Azure RBAC skapar du en rolltilldelning för att bevilja åtkomst. En rolltilldelning består av tre delar: säkerhetsobjekt, rolldefinition och omfång. Här följer två rolltilldelningar som du utför i den här självstudiekursen:

Säkerhetsobjekt Rolldefinition Omfattning
User
(RBAC-kursanvändare)
Läsare Prenumeration
User
(RBAC-kursanvändare)
Deltagare Resursgrupp
(rbac-tutorial-resource-group)

Rolltilldelningar för en användare

Skapa en användare

Om du vill tilldela en roll behöver du en användare, grupp eller tjänstens huvudnamn. Om du inte redan har en användare skapar du en.

  1. Skapa ett lösenord som uppfyller kraven på lösenordskomplexitet i Azure Cloud Shell.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. Skapa en ny användare för din domän med kommandot 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 11111111-1111-1111-1111-111111111111      rbacuser@example.com
    

Skapa en resursgrupp

Du kan använda en resursgrupp för att visa hur du tilldelar en roll med resursgruppomfång.

  1. Hämta en lista över regionplatser med hjälp av kommandot Get-AzLocation.

    Get-AzLocation | select Location
    
  2. Välj en plats nära dig och tilldela en variabel.

    $location = "westus"
    
  3. Skapa en ny resursgrupp med hjälp av kommandot New-AzResourceGroup.

    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
    

Bevilja åtkomst

Om du vill bevilja åtkomst för användaren använder du kommandot New-AzRoleAssignment för att tilldela en roll. Du måste ange säkerhetsobjekt, rolldefinition och omfång.

  1. Hämta ID för din prenumeration med hjälp av kommandot Get-AzSubscription.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  2. Spara prenumerationsomfattningen i en variabel.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  3. Tilldela rollen Läsare till användaren med prenumerationsomfång.

    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. Tilldela rollen Deltagare till användaren med resursgruppomfång.

    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
    

Lista för åtkomst

  1. För att bekräfta åtkomsten till prenumerationen använder du kommandot Get-AzRoleAssignment för att visa en lista över rolltilldelningarna.

    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
    

    Du kan se att rollen Läsare har tilldelats till användaren RBAC-kursanvändare med prenumerationsomfång.

  2. För att bekräfta åtkomsten till resursgruppen använder du kommandot Get-AzRoleAssignment för att visa en lista över rolltilldelningarna.

    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
    

    Du kan se att rollerna Läsare och Deltagare har tilldelats till RBAC-kursanvändare. Deltagarrollen är definitionsområdet rbac-tutorial-resource-group och rollen Läsare ärvs i prenumerationomfånget.

(Valfritt) Visa åtkomst med hjälp av Azure Portal

  1. Om du vill se rolltilldelningen i Azure-portalen kan du visa åtkomstkontroll (IAM)-bladet för prenumerationen.

    Rolltilldelningar för en användare med prenumerationsomfång

  2. Visa bladet Åtkomstkontroll (IAM) för resursgruppen.

    Rolltilldelningar för en användare med resursgruppsomfång

Ta bort åtkomst

Ta bort åtkomst för användare, grupper och program med Remove-AzRoleAssignment för att ta bort en rolltilldelning.

  1. Använd följande kommando för att ta bort rolltilldelningen Deltagare från användarens resursgruppomfång.

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Använd följande kommando för att ta bort rolltilldelningen Läsare från användarens prenumerationsomfång.

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

Rensa resurser

Om du vill rensa resurserna som har skapats med den här självstudien kan du ta bort resursgruppen och användaren.

  1. Ta bort resursgruppen med hjälp av kommandot 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. När du uppmanas att bekräfta skriver du Y. Det tar några sekunder att ta bort.

  3. Ta bort användaren med kommandot Remove-MgUser .

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

Nästa steg