Condividi tramite


Elencare le assegnazioni di ruolo di Azure usando l'API REST

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'API REST.

Nota

Se l'organizzazione ha funzioni di gestione esternalizzate a un provider di servizi che usa Azure Lighthouse, le assegnazioni dei ruoli 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.

Nota

Per informazioni sulla visualizzazione o l'eliminazione di dati personali, vedere Richieste generali dell'interessato per il GDPR, richieste dell'interessato di Azure per il GDPR o richieste dell'interessato windows per il GDPR, a seconda dell'area e delle esigenze specifiche. Per altre informazioni sul Regolamento generale sulla protezione dei dati (GDPR), vedere la sezione del GDPR del Centro protezione di Microsoft e la sezione del GDPR del Service Trust Portal.

Prerequisiti

È necessario usare la versione seguente:

  • 2015-07-01 o versioni successive
  • 2022-04-01 o versioni successive per includere condizioni

Per altre informazioni, vedere Versioni dell'API REST di Controllo degli accessi in base al ruolo di Azure.

Elencare le assegnazioni dei ruoli

Per visualizzare le informazioni sull'accesso nel controllo degli accessi in base al ruolo di Azure, elencare le assegnazioni di ruolo. Per elencare le assegnazioni di ruolo, usare una delle API REST per le API REST Ottieni o Elenca delle assegnazioni di ruolo. Per affinare i risultati, specificare un ambito e un filtro facoltativo.

  1. Iniziare con la richiesta seguente:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. All'intero dell'URI sostituire {scope} con l'ambito per il quale elencare le assegnazioni di ruolo.

    Ambito Type
    providers/Microsoft.Management/managementGroups/{groupId1} Gruppo di gestione
    subscriptions/{subscriptionId1} Subscription
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Gruppo di risorse
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Conto risorse

    Nell'esempio precedente microsoft.web è un provider di risorse che fa riferimento a un'istanza del servizio app. Analogamente, è possibile usare qualsiasi altro provider di risorse e specificare l'ambito. Per altre informazioni, vedere Provider e tipi di risorse di Azure e le Operazioni supportate del provider di risorse di Azure.

  3. Sostituire {filter} con la condizione da applicare per filtrare l'elenco delle assegnazioni di ruolo.

    Filtro Descrizione
    $filter=atScope() Elenca le assegnazioni di ruolo solo per l'ambito specificato, senza includere le assegnazioni di ruolo negli ambiti secondari.
    $filter=assignedTo('{objectId}') Elenca le assegnazioni di ruolo per un utente o un'entità servizio specificata.
    Se l'utente è membro di un gruppo con un'assegnazione di ruolo, viene elencata anche l'assegnazione di ruolo. Questo filtro è transitivo per i gruppi, ovvero se l'utente è membro di un gruppo e tale gruppo è membro di un altro gruppo con un'assegnazione di ruolo, viene elencata anche l'assegnazione di ruolo.
    Questo filtro accetta solo un ID oggetto per un utente o un'entità servizio. Non è possibile passare un ID oggetto per un gruppo.
    $filter=atScope()+and+assignedTo('{objectId}') Elenca le assegnazioni di ruolo per l'utente o l'entità servizio specificati e nell'ambito specificato.
    $filter=principalId+eq+'{objectId}' Elenca le assegnazioni di ruolo per un utente, un gruppo o un'entità servizio specificata.

La richiesta seguente elenca tutte le assegnazioni di ruolo per l'utente specificato nell'ambito della sottoscrizione:

GET https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()+and+assignedTo('{objectId1}')

Il testo seguente è un esempio di output:

{
    "value": [
        {
            "properties": {
                "roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
                "principalId": "{objectId1}",
                "principalType": "User",
                "scope": "/subscriptions/{subscriptionId1}",
                "condition": null,
                "conditionVersion": null,
                "createdOn": "2022-01-15T21:08:45.4904312Z",
                "updatedOn": "2022-01-15T21:08:45.4904312Z",
                "createdBy": "{createdByObjectId1}",
                "updatedBy": "{updatedByObjectId1}",
                "delegatedManagedIdentityResourceId": null,
                "description": null
            },
            "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
            "type": "Microsoft.Authorization/roleAssignments",
            "name": "{roleAssignmentId1}"
        }
    ]
}

Passaggi successivi