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

La gestione degli accessi per le risorse cloud è una funzione fondamentale 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?

Ecco alcuni esempi di cosa è 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 a un altro utente di 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. Si tratta di un concetto chiave da comprendere, che riguarda la modalità di applicazione delle autorizzazioni. Un'assegnazione di ruolo è costituita da tre elementi: entità di sicurezza, definizione del ruolo e ambito.

Entità di sicurezza principale

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 qualsiasi di queste entità di sicurezza.

Diagram showing the security principal types for a role assignment.

Definizione del 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 generali, come Proprietario, o specifici, come Collaboratore 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 di 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.

Ambito

Con ambito si intende 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 ruoli su uno qualsiasi di questi livelli di ambito.

Diagram showing scope levels for a role assignment.

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

Assegnazioni di ruolo

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.

Il diagramma 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 qualsiasi risorsa di Azure nel gruppo di risorse pharma-sales. Gli utenti di marketing non hanno accesso alle risorse esterne al 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 il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell, gli SDK Azure o le API REST.

Per maggiori informazioni, vedere Procedura per l'assegnazione di un ruolo 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 dispone delle 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, quindi le autorizzazioni effettive sono la somma delle assegnazioni di ruolo. Nell'esempio seguente a un utente viene concesso il ruolo Collaboratore nell'ambito della sottoscrizione e il ruolo Lettore per un gruppo di risorse. La somma delle autorizzazioni di Collaboratore e di quelle di Lettore corrisponde in effetti al ruolo Collaboratore per la sottoscrizione. Pertanto, in questo caso, l'assegnazione di ruolo Lettore non ha alcun impatto.

Diagram showing how multiple role assignments overlap.

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 di Azure Resource Manager integrati con il controllo degli accessi in base al ruolo di Azure. Ciò è utile per capire 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 che hanno un carattere jolly (*), le autorizzazioni valide vengono calcolate sottraendo 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, l'accesso è consentito.

  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 di Controllo degli accessi in base al ruolo di Azure?

Le definizioni di ruolo, 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 di 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 di 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 di 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. Di conseguenza, 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 di Azure Resource Manager.

Si consideri l'esempio seguente. Arina crea una macchina virtuale nell'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 di licenza

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

Passaggi successivi