Informazioni sulle assegnazioni di ruolo.
Le assegnazioni di ruolo consentono di concedere a un'entità (ad esempio un utente, un gruppo, un'identità gestita o un'entità servizio) l'accesso a una risorsa specifica di Azure. Questo articolo descrive i dettagli delle assegnazioni di ruolo.
Assegnazione di ruolo
L'accesso alle risorse di Azure viene concesso mediante la creazione di un'assegnazione di ruolo e viene revocato rimuovendo un'assegnazione di ruolo.
Un'assegnazione di ruolo include diversi componenti, tra cui:
- L'entità o l'utente a cui il ruolo viene assegnato.
- Il ruolo che viene assegnato.
- L'ambito in cui il ruolo viene assegnato.
- Il nome dell'assegnazione di ruolo e una descrizione che consente di spiegare il motivo per cui il ruolo è stato assegnato.
Ad esempio, è possibile usare il controllo degli accessi in base al ruolo di Azure per assegnare ruoli come:
- L'utente Sally dispone dell'accesso di proprietario all'account di archiviazione contoso123 nel gruppo di risorse ContosoStorage.
- Tutti i membri del gruppo di amministratori del cloud in Microsoft Entra ID dispongono dell'accesso in lettura a tutte le risorse nel gruppo di risorse ContosoStorage.
- L'identità gestita associata a un'applicazione può riavviare le macchine virtuali incluse nella sottoscrizione di Contoso.
Di seguito è disponibile un esempio delle proprietà in una assegnazione di ruolo quando viene visualizzata tramite Azure PowerShell:
{
"RoleAssignmentName": "00000000-0000-0000-0000-000000000000",
"RoleAssignmentId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"Scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"DisplayName": "User Name",
"SignInName": "user@contoso.com",
"RoleDefinitionName": "Contributor",
"RoleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"ObjectId": "22222222-2222-2222-2222-222222222222",
"ObjectType": "User",
"CanDelegate": false,
"Description": null,
"ConditionVersion": null,
"Condition": null
}
Di seguito è illustrato un esempio delle proprietà in un'assegnazione di ruolo quando viene visualizzata tramite l'interfaccia della riga di comando di Azure o l'API REST:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"principalId": "22222222-2222-2222-2222-222222222222",
"principalName": "user@contoso.com",
"principalType": "User",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
Nella tabella seguente viene descritto il significato delle proprietà dell'assegnazione di ruolo.
Proprietà | Descrizione |
---|---|
RoleAssignmentName name |
Nome dell'assegnazione di ruolo, che è un identificatore univoco globale (GUID). |
RoleAssignmentId id |
ID univoco dell'assegnazione di ruolo, che include il nome. |
Scope scope |
Identificatore della risorsa di Azure che rappresenta l'ambito dell'assegnazione di ruolo. |
RoleDefinitionId roleDefinitionId |
ID univoco del ruolo. |
RoleDefinitionName roleDefinitionName |
Nome ruolo. |
ObjectId principalId |
Identificatore dell'oggetto Microsoft Entra per l'entità a cui viene assegnato il ruolo. |
ObjectType principalType |
Tipo di oggetto Microsoft Entra rappresentato dall'entità. I valori validi includono User , Group e ServicePrincipal . |
DisplayName |
Nel caso delle assegnazioni di ruolo per gli utenti, è il nome visualizzato dell'utente. |
SignInName principalName |
Nome dell'entità univoco (UPN) dell'utente o nome dell'applicazione associata all'entità servizio. |
Description description |
Descrizione dell'assegnazione di ruolo. |
Condition condition |
Istruzione condition compilata usando una o più azioni della definizione e degli attributi del ruolo. |
ConditionVersion conditionVersion |
Numero di versione di condition. Il valore predefinito è 2.0 ed è l'unica versione supportata. |
CanDelegate canDelegate |
Non implementata. |
Ambito
Quando si crea un'assegnazione di ruolo, è necessario specificare l'ambito in cui viene applicata. L'ambito rappresenta la risorsa o il set di risorse a cui l'entità è autorizzata ad accedere. È possibile definire come ambito di un'assegnazione di ruolo una singola risorsa, un gruppo di risorse, una sottoscrizione o un gruppo di gestione.
Suggerimento
Usare l'ambito più piccolo necessario per soddisfare i requisiti.
Ad esempio, se è necessario concedere a un'identità gestita l'accesso a un singolo account di archiviazione, è consigliabile creare l'assegnazione di ruolo nell'ambito dell'account di archiviazione, non nell'ambito del gruppo di risorse o della sottoscrizione.
Per altre informazioni sull'ambito, vedere Informazioni sull'ambito.
Ruolo da assegnare
Un'assegnazione di ruolo è associata a una definizione di ruolo. La definizione del ruolo specifica le autorizzazioni che l'entità deve avere nell'ambito dell'assegnazione di ruolo.
È possibile assegnare una definizione di ruolo predefinita o una definizione di ruolo personalizzata. Quando si crea un'assegnazione di ruolo, alcuni strumenti richiedono l'uso dell'ID definizione del ruolo, mentre altri strumenti consentono di specificare il nome del ruolo.
Per altre informazioni sulle definizioni dei ruoli, vedere Comprendere le definizioni dei ruoli.
Server principale
Le entità includono utenti, gruppi di sicurezza, identità gestite, identità del carico di lavoro ed entità servizio. Le entità vengono create e gestite nel tenant di Microsoft Entra. È possibile assegnare un ruolo a qualsiasi entità. Usare l'ID oggetto di Microsoft Entra ID per identificare l'entità a cui si vuole assegnare il ruolo.
Quando si crea un'assegnazione di ruolo usando Azure PowerShell, l'interfaccia della riga di comando di Azure, Bicep o un'altra tecnologia di infrastruttura come codice (IaC), si specifica il tipo di entità. I tipi di entità includono Utente, Gruppo e ServicePrincipal. È importante specificare il tipo di entità corretto. In caso contrario, è possibile che si verifichino errori di distribuzione intermittenti, soprattutto quando si lavora con entità servizio e identità gestite.
Nome
Il nome della risorsa di un'assegnazione di ruolo deve essere un identificatore univoco globale (GUID).
I nomi delle risorse di assegnazione di ruolo devono essere univoci nel tenant di Microsoft Entra, anche se l'ambito dell'assegnazione di ruolo è più limitato.
Suggerimento
Quando si crea un'assegnazione di ruolo usando il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure, il processo di creazione attribuisce automaticamente un nome univoco all'assegnazione di ruolo.
Se si crea un'assegnazione di ruolo usando Bicep o un'altra tecnologia di infrastruttura come codice (IaC), è necessario pianificare attentamente il modo in cui viene attribuito il nome delle assegnazioni di ruolo. Per altre informazioni, vedere Creare risorse di Controllo degli accessi in base al ruolo di Azure usando Bicep.
Comportamento di eliminazione delle risorse
Quando si elimina un utente, un gruppo, un'entità servizio o un'identità gestita dall'ID Microsoft Entra, è consigliabile eliminare eventuali assegnazioni di ruolo. Non vengono eliminati automaticamente. Tutte le assegnazioni di ruolo che fanno riferimento a un ID entità eliminato non sono valide.
Se si tenta di riutilizzare il nome di un'assegnazione di ruolo per un'altra assegnazione di ruolo, la distribuzione avrà esito negativo. È più probabile che questo problema si verifichi quando si usa Bicep o un modello di Azure Resource Manager (modello di ARM) per distribuire le assegnazioni di ruolo, perché quando si usano questi strumenti, è necessario impostare in modo esplicito il nome dell'assegnazione di ruolo. Per ovviare a questo comportamento, è necessario rimuovere l'assegnazione di ruolo precedente prima di ricrearla oppure assicurarsi di usare un nome univoco quando si distribuisce una nuova assegnazione di ruolo.
Descrizione
È possibile aggiungere una descrizione di testo a un'assegnazione di ruolo. Anche se le descrizioni sono facoltative, è consigliabile aggiungerle alle assegnazioni di ruolo. Fornire una breve giustificazione del motivo per cui l'entità necessita del ruolo assegnato. Quando qualcuno controlla le assegnazioni di ruolo, le descrizioni possono essere utili per capire perché sono state create e se sono ancora applicabili.
Condizioni
Alcuni ruoli supportano le condizioni di assegnazione dei ruoli in base agli attributi nel contesto di azioni specifiche. Una condizione di assegnazione di ruolo è un controllo aggiuntivo che è possibile aggiungere facoltativamente all'assegnazione di ruolo per fornire un controllo di accesso più accurato.
Ad esempio, è possibile aggiungere una condizione che richiede che un oggetto abbia un tag specifico affinché un utente possa leggerlo.
Le condizioni vengono in genere compilate tramite un editor di condizioni visivo, ma di seguito viene illustrato l'aspetto di una condizione di esempio nel codice:
((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})) OR (@resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'))
La condizione precedente consente agli utenti di leggere BLOB con una chiave del tag indice BLOB Project e un valore Cascade.
Per ulteriori informazioni sulle condizioni, vedere Che cos'è il controllo degli accessi in base all'attributo di Azure?