Elencare le assegnazioni di ruolo di Azure con l'interfaccia della riga di comando di Azure

Il controllo degli accessi in base al ruolo di Azure è il sistema di autorizzazione che si usa per gestire l'accesso alle risorse di Azure. Per determinare le risorse a cui gli utenti, i gruppi, le entità servizio o le identità gestite hanno accesso, elencare le assegnazioni di ruolo. Questo articolo descrive come elencare le assegnazioni di ruolo usando l'interfaccia della riga di comando di Azure.

Nota

Se l'organizzazione ha funzioni di gestione esternalizzate a un provider di servizi che usa Azure Lighthouse, le assegnazioni di ruolo autorizzate da tale provider di servizi non verranno visualizzate qui. Analogamente, gli utenti nel tenant del provider di servizi non vedranno le assegnazioni di ruolo per gli utenti nel tenant di un cliente, indipendentemente dal ruolo assegnato.

Prerequisiti

Elencare le assegnazioni di ruolo per un utente

Per elencare le assegnazioni di ruolo per un utente specifico, usare az role assignment list:

az role assignment list --assignee {assignee}

By default, only role assignments for the current subscription will be displayed. To view role assignments for the current subscription and below, add the --all parameter. To include role assignments at parent scopes, add the --include-inherited parameter. To include role assignments for groups of which the user is a member transitively, add the --include-groups parameter.

The following example lists the role assignments that are assigned directly to the patlong@contoso.com user:

az role assignment list --all --assignee patlong@contoso.com --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Backup Operator",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Virtual Machine Contributor",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  }
]

Elencare le assegnazioni di ruolo per un gruppo di risorse

Per elencare le assegnazioni di ruolo presenti nell'ambito di un gruppo di risorse, usare az role assignment list:

az role assignment list --resource-group {resourceGroup}

The following example lists the role assignments for the pharma-sales resource group:

az role assignment list --resource-group pharma-sales --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Backup Operator",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Virtual Machine Contributor",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  
  ...

]

Elencare le assegnazioni di ruolo per una sottoscrizione

Per elencare tutte le assegnazioni di ruolo in un ambito di sottoscrizione, usare az role assignment list. Per ottenere l'ID sottoscrizione, è possibile trovarlo nel pannello Sottoscrizioni nel portale di Azure oppure usare az account list.

az role assignment list --scope "/subscriptions/{subscriptionId}"

Example:

az role assignment list --scope "/subscriptions/00000000-0000-0000-0000-000000000000" --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "admin@contoso.com",
    "roleDefinitionName": "Owner",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },
  {
    "principalName": "Subscription Admins",
    "roleDefinitionName": "Owner",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },
  {
    "principalName": "alain@contoso.com",
    "roleDefinitionName": "Reader",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },

  ...

]

Elencare le assegnazioni di ruolo per un gruppo di gestione

Per elencare tutte le assegnazioni di ruolo nell'ambito di un gruppo di gestione, usare az role assignment list. Per ottenere l'ID del gruppo di gestione, è possibile trovarlo nel pannello Gruppi di gestione nel portale di Azure oppure è possibile usare az account management-group list.

az role assignment list --scope /providers/Microsoft.Management/managementGroups/{groupId}

Example:

az role assignment list --scope /providers/Microsoft.Management/managementGroups/sales-group --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "admin@contoso.com",
    "roleDefinitionName": "Owner",
    "scope": "/providers/Microsoft.Management/managementGroups/sales-group"
  },
  {
    "principalName": "alain@contoso.com",
    "roleDefinitionName": "Reader",
    "scope": "/providers/Microsoft.Management/managementGroups/sales-group"
  }
]

Elencare le assegnazioni di ruolo per un'identità gestita

Seguire questa procedura:

  1. Ottenere l'ID principale dell'identità gestita assegnata dal sistema o assegnata dall'utente.

    Per ottenere l'ID entità di un'identità gestita assegnata dall'utente, è possibile usare az ad sp list o az identity list.

    az ad sp list --display-name "{name}" --query [].id --output tsv
    

    Per ottenere l'ID entità di un'identità gestita assegnata dal sistema, è possibile usare az ad sp list.

    az ad sp list --display-name "{vmname}" --query [].id --output tsv
    
  2. Per elencare le assegnazioni di ruolo, usare az role assignment list.

    Per impostazione predefinita, verranno visualizzate solo le assegnazioni di ruolo per la sottoscrizione corrente. Per visualizzare le assegnazioni di ruolo per la sottoscrizione corrente e sotto, aggiungere il --all parametro . Per visualizzare le assegnazioni di ruolo ereditate, aggiungere il --include-inherited parametro .

    az role assignment list --assignee {objectId}
    

Passaggio successivo