Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controllo degli accessi in base al ruolo di Azure è il modo in cui si gestisce l'accesso alle risorse di Azure. In questa esercitazione si concede a un gruppo l'accesso per visualizzare tutti gli elementi in una sottoscrizione e gestire tutti gli elementi in un gruppo di risorse usando Azure PowerShell.
In questa esercitazione si apprenderà come:
- Concedere l'accesso a un gruppo in ambiti diversi
- Elencare l'accesso
- Rimuovere i privilegi di accesso
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Annotazioni
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Prerequisiti
Per completare questa esercitazione, è necessario:
- Autorizzazioni per creare gruppi in Microsoft Entra ID (o avere un gruppo esistente)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Assegnazioni di ruolo
Per concedere l'accesso mediante il controllo degli accessi in base al ruolo Azure, si crea un'assegnazione di ruolo. Un'assegnazione di ruolo è costituita da tre elementi: entità di sicurezza, definizione del ruolo e ambito. Ecco le due assegnazioni di ruolo che verranno eseguite in questa esercitazione:
| Entità di sicurezza | Definizione di ruolo | Ambito |
|---|---|---|
| Gruppo (Gruppo tutorial RBAC) |
Reader | Subscription |
| Gruppo (Gruppo tutorial RBAC) |
Contributor | Gruppo di risorse (rbac-tutorial-resource-group) |
Creare un gruppo
Per assegnare un ruolo, è necessario un utente, un gruppo o un'entità servizio. Se non si ha già un gruppo, è possibile crearne uno.
In Azure Cloud Shell creare un nuovo gruppo usando il comando 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 {}
Se non si dispone delle autorizzazioni per creare gruppi, è possibile provare l'esercitazione: Concedere a un utente l'accesso alle risorse di Azure usando Azure PowerShell .
Creare un gruppo di risorse
Si usa un gruppo di risorse per mostrare come assegnare un ruolo in un ambito del gruppo di risorse.
Ottenere un elenco di località dell'area usando il comando Get-AzLocation .
Get-AzLocation | select LocationSelezionare una posizione nelle vicinanze e assegnarla a una variabile.
$location = "westus"Creare un nuovo gruppo di risorse usando il comando New-AzResourceGroup .
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $locationResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Concedi accesso
Per concedere l'accesso al gruppo, usare il comando New-AzRoleAssignment per assegnare un ruolo. È necessario specificare l'entità di sicurezza, la definizione del ruolo e l'ambito.
Ottenere l'ID oggetto del gruppo usando il comando Get-MgGroup .
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}Salvare l'ID oggetto gruppo in una variabile.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"Ottenere l'ID della sottoscrizione usando il comando Get-AzSubscription .
Get-AzSubscriptionName : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : EnabledSalvare l'ambito della sottoscrizione in una variabile.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"Assegnare il ruolo Lettore al gruppo nell'ambito della sottoscrizione.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScopeRoleAssignmentId : /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 : FalseAssegnare il ruolo Collaboratore al gruppo a livello del gruppo di risorse.
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
Elencare l'accesso
Per verificare l'accesso per la sottoscrizione, usare il comando Get-AzRoleAssignment per elencare le assegnazioni di ruolo.
Get-AzRoleAssignment -ObjectId $groupId -Scope $subScopeRoleAssignmentId : /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 : FalseNell'output si può vedere che il ruolo di lettore è stato assegnato al gruppo dell'esercitazione per il controllo degli accessi in base al ruolo nell'ambito della sottoscrizione.
Per verificare l'accesso per il gruppo di risorse, usare il comando Get-AzRoleAssignment per elencare le assegnazioni di ruolo.
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 : FalseNell'output si può vedere che sia il ruolo di collaboratore che quello di lettore sono stati assegnati al gruppo dell'esercitazione per il controllo degli accessi in base al ruolo. Il ruolo di collaboratore è nell'ambito rbac-tutorial-resource-group, mentre il ruolo di lettore viene ereditato nell'ambito della sottoscrizione.
(Facoltativo) Elencare l'accesso tramite il portale di Azure
Per informazioni sull'aspetto delle assegnazioni di ruolo nel portale di Azure, visualizzare il pannello Controllo di accesso (IAM) per la sottoscrizione.
Visualizza il pannello Controllo di accesso (IAM) per il gruppo di risorse.
Rimuovere i privilegi di accesso
Per rimuovere l'accesso per utenti, gruppi e applicazioni, usare Remove-AzRoleAssignment per rimuovere un'assegnazione di ruolo.
Usare il comando seguente per rimuovere l'assegnazione di ruolo Collaboratore per il gruppo nell'ambito del gruppo di risorse.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"Usare il comando seguente per rimuovere l'assegnazione del ruolo di lettore per il gruppo nell'ambito della sottoscrizione.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Pulire le risorse
Per pulire le risorse create da questa esercitazione, eliminare il gruppo di risorse e il gruppo.
Eliminare il gruppo di risorse usando il comando 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"):Quando viene chiesto di confermare, digitare Y. L'eliminazione richiederà alcuni secondi.
Eliminare il gruppo usando il comando Remove-MgGroup .
Remove-MgGroup -GroupID $groupIdSe viene visualizzato un errore quando si tenta di eliminare il gruppo, è anche possibile eliminare il gruppo nel portale.