Che cos'è il controllo degli accessi in base al ruolo di Azure?

La gestione dell'accesso per le risorse cloud è una funzione essenziale per qualsiasi organizzazione che usa il cloud. Il controllo degli accessi in base al ruolo di Azure consente di gestire gli utenti autorizzati ad accedere alle risorse di Azure, le operazioni che possono eseguire su tali risorse e le aree a cui hanno accesso.

Il controllo degli accessi in base al ruolo di Azure è un sistema di autorizzazione basato su Azure Resource Manager che offre una gestione degli accessi con granularità fine alle risorse di Azure.

Questo video offre una panoramica rapida del Controllo degli accessi in base al ruolo di Azure.

Che cosa è possibile fare con il controllo degli accessi in base al ruolo di Azure?

Di seguito sono riportati alcuni esempi di ciò che è possibile fare con il controllo degli accessi in base al ruolo di Azure:

  • Consentire a un utente di gestire le macchine virtuali in una sottoscrizione e un altro utente a gestire le reti virtuali
  • Consentire a un gruppo di amministratori di database di gestire database SQL all'interno di una sottoscrizione
  • Consentire a un utente di gestire tutte le risorse in un gruppo di risorse, ad esempio le macchine virtuali, i siti Web e le subnet
  • Consentire a un'applicazione di accedere a tutte le risorse in un gruppo di risorse

Funzionamento del controllo degli accessi in base al ruolo di Azure

Per controllare l'accesso alle risorse tramite il controllo degli accessi in base al ruolo di Azure è necessario assegnare ruoli di Azure. Questo è un concetto chiave da comprendere: si tratta di come vengono applicate le autorizzazioni. Un'assegnazione di ruolo è costituita da tre elementi: entità di sicurezza, definizione del ruolo e ambito.

Entità di sicurezza

Un'entità di sicurezza è un oggetto che rappresenta un utente, un gruppo, un'entità servizio o un'identità gestita che richiede l'accesso alle risorse di Azure. È possibile assegnare un ruolo a una di queste entità di sicurezza.

Diagram showing the security principal types for a role assignment.

Definizione di ruolo

Una definizione di ruolo è una raccolta di autorizzazioni, generalmente chiamata ruolo. Una definizione di ruolo elenca le azioni consentite, ad esempio lettura, scrittura ed eliminazione. I ruoli possono essere di livello superiore, ad esempio quello di proprietario, o specifici, ad esempio quello di lettore di macchina virtuale.

Diagram showing role definition example for a role assignment

Azure include diversi ruoli predefiniti che è possibile usare. Ad esempio, il ruolo Collaboratore Macchina virtuale consente a un utente di creare e gestire macchine virtuali. Se i ruoli predefiniti non soddisfano le esigenze specifiche dell'organizzazione, è possibile creare ruoli personalizzati di Azure.

Questo video offre una panoramica rapida dei ruoli predefiniti e dei ruoli personalizzati.

Azure include azioni per i dati che consentono di concedere l'accesso ai dati all'interno di un oggetto . Ad esempio, se un utente dispone dell'accesso in lettura ai dati per un account di archiviazione, può leggere i BLOB o i messaggi all'interno di tale account.

Per altre informazioni, vedere Informazioni sulle definizioni dei ruoli di Azure.

Scope

Ambito è il set di risorse a cui si applica l'accesso. Quando si assegna un ruolo, è possibile limitare ulteriormente le azioni consentite definendo un ambito. Ciò è utile se si intende creare un collaboratore di siti Web, ma solo per un gruppo di risorse.

In Azure, è possibile specificare un ambito su quattro livelli: gruppo di gestione, sottoscrizione, gruppo di risorse o risorsa. Gli ambiti sono strutturati in una relazione padre-figlio. È possibile assegnare i ruoli a qualsiasi livello dell'ambito.

Diagram showing scope levels for a role assignment.

Per altre informazioni sull'ambito, vedere Informazioni sull'ambito.

Assegnazioni di ruoli

Un'assegnazione di ruolo è il processo di associazione di una definizione di ruolo a un utente, un gruppo, un'entità servizio o un'identità gestita in un determinato ambito allo scopo di concedere l'accesso. L'accesso viene concesso mediante la creazione di un'assegnazione di ruolo e viene revocato rimuovendo un'assegnazione di ruolo.

Lo schema seguente mostra un esempio di assegnazione di ruolo. In questo esempio, al gruppo marketing è stato assegnato il ruolo di collaboratore per il gruppo di risorse pharma-sales. Ciò significa che gli utenti del gruppo marketing possono creare o gestire le risorse di Azure nel gruppo di risorse pharma-sales. Gli utenti marketing non hanno accesso alle risorse all'esterno del gruppo di risorse pharma-sales, a meno che non facciano parte di un'altra assegnazione di ruolo.

Diagram showing how security principal, role definition, and scope create a role assignment.

È possibile assegnare ruoli usando portale di Azure, interfaccia della riga di comando di Azure, Azure PowerShell, SDK di Azure o API REST.

Per altre informazioni, vedere Passaggi per assegnare un ruolo di Azure.

Gruppi

Le assegnazioni di ruolo sono transitive per i gruppi, ovvero se un utente è membro di un gruppo e tale gruppo è membro di un altro gruppo con un'assegnazione di ruolo, l'utente avrà le autorizzazioni nell'assegnazione di ruolo.

Diagram showing how role assignments are transitive for groups.

Più assegnazioni di ruolo

Cosa succede se si hanno più assegnazioni di ruolo sovrapposte? Il controllo degli accessi in base al ruolo di Azure è un modello additivo, per cui le autorizzazioni effettive corrispondono alla somma delle assegnazioni di ruolo. Nell'esempio seguente a un utente viene concesso il ruolo Collaboratore nell'ambito della sottoscrizione e il ruolo Lettore in un gruppo di risorse. La somma delle autorizzazioni Collaboratore e Lettore corrisponde in effetti al ruolo Collaboratore per la sottoscrizione. Quindi, in questo caso, l'assegnazione del ruolo Lettore non ha alcun impatto.

Diagram showing how multiple role assignments overlap.

Assegnazioni di rifiuto

In precedenza, il controllo degli accessi in base al ruolo di Azure era un modello per il solo consenso, ma ora supporta in modo limitato le assegnazioni di rifiuto. Analogamente a un'assegnazione di ruolo, un'assegnazione di rifiuto associa un set di azioni di rifiuto a un utente, un gruppo, un'entità servizio o un'identità gestita in un determinato ambito allo scopo di rifiutare l'accesso. Un'assegnazione di ruolo definisce un set di azioni consentite, mentre un'assegnazione di rifiuto definisce un set di azioni non consentite. In altre parole, le assegnazioni di rifiuto impediscono agli utenti di eseguire azioni specificate, anche se un'assegnazione di ruolo concede loro l'accesso. Le assegnazioni di rifiuto hanno la precedenza sulle assegnazioni di ruolo.

Per altre informazioni, vedere Informazioni sulle assegnazioni di rifiuto di Azure.

Come il controllo degli accessi in base al ruolo di Azure determina se un utente può accedere a una risorsa

Di seguito sono riportati i passaggi generali usati dal controllo degli accessi in base al ruolo di Azure per determinare se si ha accesso a una risorsa. Questi passaggi si applicano ai servizi del piano dati o Resource Manager di Azure integrati con il controllo degli accessi in base al ruolo di Azure. Può essere utile se si sta tentando di risolvere un problema di accesso.

  1. Un utente (o entità servizio) acquisisce un token per Azure Resource Manager.

    Il token include le appartenenze a gruppi dell'utente (incluse le appartenenze a gruppi transitive).

  2. L'utente effettua una chiamata API REST ad Azure Resource Manager con il token associato.

  3. Azure Resource Manager recupera tutte le assegnazioni di ruolo e le assegnazioni di rifiuto che si applicano alla risorsa su cui viene eseguita l'azione.

  4. Se si applica un'assegnazione di rifiuto, l'accesso viene bloccato. In caso contrario, la valutazione continua.

  5. Azure Resource Manager restringe le assegnazioni di ruolo a quelle che si applicano all'utente o al gruppo corrispondente e determina i ruoli di cui l'utente dispone per questa risorsa.

  6. Azure Resource Manager determina se l'azione nella chiamata API è inclusa nei ruoli di cui l'utente dispone per questa risorsa. Se i ruoli includono Actions un carattere jolly (*), le autorizzazioni valide vengono calcolate sottraendo l'oggetto dall'oggetto NotActions consentito Actions. Analogamente, la stessa sottrazione viene eseguita per qualsiasi azione di dati.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Se l'utente non ha un ruolo con l'azione nell'ambito richiesto, l'accesso non è consentito. In caso contrario, vengono valutate tutte le condizioni.

  8. Se l'assegnazione di ruolo include condizioni, vengono valutate. In caso contrario, è consentito l'accesso.

  9. Se vengono soddisfatte condizioni, l'accesso è consentito. In caso contrario, l'accesso non è consentito.

Il diagramma seguente è un riepilogo della logica di valutazione.

Evaluation logic flowchart for determining access to a resource.

Dove vengono archiviati i dati del controllo degli accessi in base al ruolo di Azure?

Le definizioni dei ruoli, le assegnazioni di ruolo e le assegnazioni di rifiuto vengono archiviate a livello globale per garantire l'accesso alle risorse indipendentemente dall'area creata.

Quando viene eliminata un'assegnazione di ruolo o altri dati del controllo degli accessi in base al ruolo di Azure, i dati vengono eliminati a livello globale. Le entità che hanno accesso a una risorsa tramite i dati del controllo degli accessi in base al ruolo di Azure perderanno l'accesso.

Perché i dati del controllo degli accessi in base al ruolo di Azure sono globali?

I dati del controllo degli accessi in base al ruolo di Azure sono globali per garantire che i clienti possano accedere tempestivamente alle risorse indipendentemente dalla posizione in cui accedono. Il controllo degli accessi in base al ruolo di Azure viene applicato da Azure Resource Manager, che ha un endpoint globale e le richieste vengono instradate all'area più vicina per velocità e resilienza. Pertanto, il controllo degli accessi in base al ruolo di Azure deve essere applicato in tutte le aree e i dati vengono replicati in tutte le aree. Per altre informazioni, vedere Resilienza delle Resource Manager di Azure.

Si consideri l'esempio seguente. Arina crea una macchina virtuale in Asia orientale. Bob, membro del team di Arina, lavora nel Stati Uniti. Bob deve accedere alla macchina virtuale creata in Asia orientale. Per concedere a Bob l'accesso tempestivo alla macchina virtuale, Azure deve replicare a livello globale l'assegnazione di ruolo che concede a Bob l'accesso alla macchina virtuale ovunque si trovi Bob.

Diagram showing Azure RBAC data in multiple regions.

Requisiti relativi alle licenze

L'uso di questa funzionalità è gratuito ed è incluso nella sottoscrizione di Azure.

Passaggi successivi