Esercitazione: Concedere a un gruppo l'accesso alle risorse di Azure usando Azure PowerShell

Per gestire l'accesso alle risorse di Azure, si usa il controllo degli accessi in base al ruolo Azure. In questa esercitazione si consente a un gruppo di visualizzare tutte le aree di una sottoscrizione e di gestire tutti gli elementi in un gruppo di risorse con Azure PowerShell.

In questa esercitazione apprenderai a:

  • Concedere l'accesso per 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.

Nota

È 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 quanto segue:

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. Di seguito sono indicate le due assegnazioni di ruolo che verranno eseguite in questa esercitazione:

Entità di sicurezza principale Definizione del ruolo Ambito
Raggruppa
(Gruppo dell'esercitazione per il controllo degli accessi in base al ruolo)
Lettore Abbonamento
Raggruppa
(Gruppo dell'esercitazione per il controllo degli accessi in base al ruolo)
Collaboratore Gruppo di risorse
(rbac-tutorial-resource-group)

Role assignments for a group

Creare un gruppo

Per assegnare un ruolo sono necessari un utente, un gruppo o un entità servizio. Se il gruppo non è già disponibile, è 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 11111111-1111-1111-1111-111111111111 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 illustrare come assegnare un ruolo a un ambito di gruppo di risorse.

  1. Ottenere un elenco delle località dell'area con il comando Get-AzLocation.

    Get-AzLocation | select Location
    
  2. Selezionare una località vicina e assegnarla a una variabile.

    $location = "westus"
    
  3. Creare un nuovo gruppo di risorse con il comando 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
    

Concedi accesso

Per concedere l'accesso al gruppo, si usa il comando New-AzRoleAssignment per assegnare un ruolo. È necessario specificare l'entità di sicurezza, la definizione del ruolo e l'ambito.

  1. 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 11111111-1111-1111-1111-111111111111 NotSet                   {}
    
  2. Salvare l'ID oggetto del gruppo in una variabile.

    $groupId = "11111111-1111-1111-1111-111111111111"
    
  3. Ottenere l'ID della sottoscrizione usando il comando Get-AzSubscription.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  4. Salvare l'ambito della sottoscrizione in una variabile.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  5. Assegnare il ruolo Lettore al gruppo nell'ambito della sottoscrizione.

    New-AzRoleAssignment -ObjectId $groupId `
      -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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
  6. Assegnare il ruolo Collaboratore al gruppo nell'ambito del gruppo di risorse.

    New-AzRoleAssignment -ObjectId $groupId `
      -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 Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

Elencare l'accesso

  1. Per verificare l'accesso alla sottoscrizione, usare il comando Get-AzRoleAssignment per elencare le assegnazioni dei ruoli.

    Get-AzRoleAssignment -ObjectId $groupId -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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    Nell'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.

  2. Per verificare l'accesso al gruppo di risorse, usare il comando Get-AzRoleAssignment per elencare le assegnazioni dei ruoli.

    Get-AzRoleAssignment -ObjectId $groupId -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 Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    Nell'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 gli accessi con il portale di Azure

  1. Per visualizzare le assegnazioni dei ruoli nel portale di Azure, passare al pannello Controllo di accesso (IAM) della sottoscrizione.

    Role assignments for a group at subscription scope

  2. Visualizzare il pannello Controllo di accesso (IAM) del gruppo di risorse.

    Role assignments for a group at resource group scope

Rimuovere i privilegi di accesso

Per rimuovere l'accesso per utenti, gruppi e applicazioni, usare Remove-AzRoleAssignment per rimuovere l'assegnazione di un ruolo.

  1. Usare il comando seguente per rimuovere l'assegnazione del ruolo di collaboratore per il gruppo nell'ambito del gruppo di risorse.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. 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 con questa esercitazione, eliminare il gruppo di risorse e il gruppo.

  1. 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"):
    
  2. Quando viene chiesto di confermare, digitare Y. L'eliminazione richiederà alcuni secondi.

  3. Eliminare il gruppo usando il comando Remove-MgGroup .

    Remove-MgGroup -GroupID $groupId
    

    Se viene visualizzato un errore quando si tenta di eliminare il gruppo, è anche possibile eliminare il gruppo dal portale.

Passaggi successivi