Share via


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 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.

Nota

Per informazioni su come visualizzare o eliminare dati personali, vedere Richieste del soggetto dei dati per il GDPR in Azure. Per altre informazioni sul GDPR, vedere la sezione GDPR del Centro protezione Microsoft e la sezione GDPR del portale Service Trust.

Prerequisiti

È necessario usare la versione seguente:

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

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

Elencare le assegnazioni di ruolo

In Controllo degli accessi in base al ruolo di Azure, per elencare l'accesso, elencare le assegnazioni di ruolo. Per elencare le assegnazioni di ruolo, usare una delle API REST Get o List Role Assignments.To list role assignments, use one of role Assignments Get or List REST APIs. 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 Resource

    Nell'esempio precedente microsoft.web è un provider di risorse che fa riferimento a un'istanza di 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 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, non incluse le assegnazioni di ruolo in 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, tale assegnazione di ruolo viene elencata anche.
    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 specificati.

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