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 di Azure specifica. Questo articolo descrive i dettagli delle assegnazioni di ruolo.

Assegnazione di ruolo

L'accesso alle risorse di Azure viene concesso creando un'assegnazione di ruolo e l'accesso viene revocato rimuovendo un'assegnazione di ruolo.

Un'assegnazione di ruolo include diversi componenti, tra cui:

  • Entità o a cui è assegnato il ruolo.
  • Ruolo assegnato.
  • Ambito a cui è assegnato il ruolo.
  • Il nome dell'assegnazione di ruolo e una descrizione che consente di spiegare il motivo per cui è stato assegnato il ruolo.

Ad esempio, è possibile usare il controllo degli accessi in base al ruolo di Azure per assegnare ruoli come:

  • L'utente Sally ha accesso proprietario all'account di archiviazione contoso123 nel gruppo di risorse Contoso Archiviazione.
  • Tutti i membri del gruppo Cloud Amministrazione istrators in Microsoft Entra ID hanno accesso in lettura a tutte le risorse nel gruppo di risorse Contoso Archiviazione.
  • L'identità gestita associata a un'applicazione può riavviare le macchine virtuali all'interno della sottoscrizione di Contoso.

Di seguito è riportato un esempio delle proprietà in un'assegnazione di ruolo quando viene visualizzato usando 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 viene illustrato un esempio delle proprietà in un'assegnazione di ruolo quando viene visualizzata usando 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 vengono descritte le 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 a cui ha come ambito l'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 è assegnato il ruolo.
ObjectType
principalType
Tipo di oggetto Microsoft Entra rappresentato dall'entità. I valori validi includono User, Group e ServicePrincipal.
DisplayName Per le 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 dalla definizione e dagli attributi del ruolo.
ConditionVersion
conditionVersion
Numero di versione della condizione. 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 applicato. L'ambito rappresenta la risorsa o il set di risorse a cui l'entità è autorizzata ad accedere. È possibile definire l'ambito di un'assegnazione di ruolo a una singola risorsa, a un gruppo di risorse, a una sottoscrizione o a 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 all'interno dell'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 Informazioni sulle definizioni dei ruoli.

Entità di sicurezza

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 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 User, Group 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 all'interno del tenant di Microsoft Entra, anche se l'ambito dell'assegnazione di ruolo è più ristretto.

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 assegna 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 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. Questo problema è più probabile che si verifichi quando si usa Bicep o un modello di Azure Resource Manager per distribuire le assegnazioni di ruolo, perché è necessario impostare in modo esplicito il nome dell'assegnazione di ruolo quando si usano questi strumenti. 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 per il motivo per cui l'entità deve avere il ruolo assegnato. Quando qualcuno controlla le assegnazioni di ruolo, le descrizioni possono aiutare a 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ù granulare.

Ad esempio, è possibile aggiungere una condizione che richiede a un oggetto di avere un tag specifico per consentire all'utente di leggere l'oggetto.

In genere si compilano condizioni usando un editor di condizioni visive, 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 i BLOB con una chiave del tag di indice BLOB di Project e un valore Cascade.

Per altre informazioni sulle condizioni, vedere Che cos'è il controllo degli accessi in base all'attributo di Azure?

Passaggi successivi