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:
- Behörigheter för att skapa användare i Microsoft Entra-ID (eller ha en befintlig användare)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
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) |
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.
Skapa ett lösenord som uppfyller kraven på lösenordskomplexitet i Azure Cloud Shell.
$PasswordProfile = @{ Password = "<Password>" }
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.
Hämta en lista över regionplatser med hjälp av kommandot Get-AzLocation.
Get-AzLocation | select Location
Välj en plats nära dig och tilldela en variabel.
$location = "westus"
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.
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
Spara prenumerationsomfattningen i en variabel.
$subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
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
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
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.
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
Om du vill se rolltilldelningen i Azure-portalen kan du visa åtkomstkontroll (IAM)-bladet för prenumerationen.
Visa bladet Åtkomstkontroll (IAM) för resursgruppen.
Ta bort åtkomst
Ta bort åtkomst för användare, grupper och program med Remove-AzRoleAssignment för att ta bort en rolltilldelning.
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"
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.
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"):
När du uppmanas att bekräfta skriver du Y. Det tar några sekunder att ta bort.
Ta bort användaren med kommandot Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id