Condividi tramite


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?

Passaggi successivi