Självstudie: Bevilja en grupp å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 grupp å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 för en grupp 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 grupper i Microsoft Entra-ID (eller ha en befintlig grupp)
- 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 |
---|---|---|
Grupp (RBAC-kursgrupp) |
Läsare | Prenumeration |
Grupp (RBAC-kursgrupp) |
Deltagare | Resursgrupp (rbac-tutorial-resource-group) |
Skapa en grupp
Om du vill tilldela en roll behöver du en användare, grupp eller tjänstens huvudnamn. Om du inte redan har en grupp skapar du en.
I Azure Cloud Shell skapar du en ny grupp med kommandot 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 {}
Om du inte har behörighet att skapa grupper kan du prova Självstudie: Bevilja en användare åtkomst till Azure-resurser med Azure PowerShell i stället.
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Bevilja åtkomst
Om du vill bevilja åtkomst för gruppen använder du kommandot New-AzRoleAssignment för att tilldela en roll. Du måste ange säkerhetsobjekt, rolldefinition och omfång.
Hämta objekt-ID:t för gruppen med kommandot Get-MgGroup .
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Spara gruppens objekt-ID i en variabel.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
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 : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Spara prenumerationsomfattningen i en variabel.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Tilldela rollen Läsare i gruppen i prenumerationsomfattningen.
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
Tilldela rollen Deltagare i gruppen i resursgruppomfattningen.
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
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 -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
Du kan se att rollen Läsare har tilldelats till gruppen RBAC-kursgrupp 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 -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
Du kan se att rollerna Läsare och Deltagare har tilldelats till gruppen RBAC-kursgrupp. 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 gruppens resursgruppomfång.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Använd följande kommando för att ta bort rolltilldelningen Läsare från gruppens prenumerationsomfång.
Remove-AzRoleAssignment -ObjectId $groupId ` -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 gruppen.
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 gruppen med kommandot Remove-MgGroup .
Remove-MgGroup -GroupID $groupId
Om du får ett felmeddelande när du försöker ta bort gruppen kan du också ta bort gruppen i portalen.