Condividi tramite


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

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 utente 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 per un utente 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:

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
User
(Utente dell'esercitazione sul controllo degli accessi in base al ruolo)
Reader Subscription
User
(Utente dell'esercitazione sul controllo degli accessi in base al ruolo)
Contributor Gruppo di risorse
(rbac-tutorial-resource-group)

Assegnazioni di ruolo per un utente

Creare un utente

Per assegnare un ruolo, è necessario un utente, un gruppo o un'entità servizio. Se non si ha già un utente, è possibile crearne uno.

  1. In Azure Cloud Shell creare una password conforme ai requisiti di complessità delle password.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. Creare un nuovo utente per il dominio usando il comando 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 aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb      rbacuser@example.com
    

Creare un gruppo di risorse

Si usa un gruppo di risorse per mostrare come assegnare un ruolo in un ambito del gruppo di risorse.

  1. Ottenere un elenco di località dell'area usando il comando Get-AzLocation .

    Get-AzLocation | select Location
    
  2. Selezionare una posizione nelle vicinanze e assegnarla a una variabile.

    $location = "westus"
    
  3. Creare un nuovo gruppo di risorse usando 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    

Concedi accesso

Per concedere l'accesso per l'utente, usare 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 della sottoscrizione usando il comando Get-AzSubscription .

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee
    State    : Enabled
    
  2. Salvare l'ambito della sottoscrizione in una variabile.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  3. Assegnare il ruolo Lettore all'utente nell'ambito della sottoscrizione.

    New-AzRoleAssignment -SignInName rbacuser@example.com `
      -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    
  4. Assegnare il ruolo Collaboratore all'utente nell'ambito del gruppo di risorse.

    New-AzRoleAssignment -SignInName rbacuser@example.com `
      -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

Elencare l'accesso

  1. Per verificare l'accesso per la sottoscrizione, usare il comando Get-AzRoleAssignment per elencare le assegnazioni di ruolo.

    Get-AzRoleAssignment -SignInName rbacuser@example.com -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

    Nell'output si può vedere che il ruolo di lettore è stato assegnato all'utente dell'esercitazione sul controllo degli accessi in base al ruolo nell'ambito della sottoscrizione.

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

    Get-AzRoleAssignment -SignInName rbacuser@example.com -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

    Nell'output è possibile notare che all'Utente Tutorial RBAC sono stati assegnati sia il ruolo di Collaboratore che quello di Lettore. 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

  1. Per informazioni sull'aspetto delle assegnazioni di ruolo nel portale di Azure, visualizzare il pannello Controllo di accesso (IAM) per la sottoscrizione.

    Assegnazioni di ruolo per utente nell'ambito della sottoscrizione

  2. Visualizza il pannello Controllo di accesso (IAM) per il gruppo di risorse.

    Assegnazioni di ruolo per un utente nell'ambito del 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.

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

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Usare il seguente comando per rimuovere l'assegnazione del ruolo "Lettore" per un utente nell'ambito della sottoscrizione.

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

Pulire le risorse

Per pulire le risorse create da questa esercitazione, eliminare il gruppo di risorse e l'utente.

  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 l'utente usando il comando Remove-MgUser .

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

Passaggi successivi