Dela via


Visa en lista över Azure-rolltilldelningar med hjälp av REST-API:et

Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är det auktoriseringssystem som du använder för att hantera åtkomst till Azure-resurser. Om du vill ta reda på vilka resurser användare, grupper, tjänsthuvudnamn eller hanterade identiteter har åtkomst till visar du deras rolltilldelningar. I den här artikeln beskrivs hur du listar rolltilldelningar med hjälp av REST-API:et.

Kommentar

Om din organisation har outsourcade hanteringsfunktioner till en tjänstleverantör som använder Azure Lighthouse visas inte rolltilldelningar som auktoriserats av tjänsteleverantören här. På samma sätt ser användare i tjänstleverantörens klientorganisation inte rolltilldelningar för användare i en kunds klientorganisation, oavsett vilken roll de har tilldelats.

Kommentar

Information om hur du visar eller tar bort personliga data finns i Allmänna begäranden från datasubjekt för GDPR, Azure-datasubjektbegäranden för GDPR eller Begäranden från Windows-datasubjekt för GDPR, beroende på ditt specifika område och behov. Mer information om GDPR finns i avsnittet GDPR i Microsoft Trust Center och GDPR-avsnittet i Service Trust-portalen.

Förutsättningar

Du måste använda följande version:

  • 2015-07-01 eller senare
  • 2022-04-01 eller senare för att inkludera villkor

Mer information finns i API-versioner av Azure RBAC REST API:er.

Visa lista över rolltilldelningar

I Azure RBAC visar du rolltilldelningarna för att visa en lista över åtkomst. Om du vill visa en lista över rolltilldelningar använder du någon av ROLLtilldelningarna Hämta eller Lista REST-API:er. Om du vill förfina dina resultat anger du ett omfång och ett valfritt filter.

  1. Börja med följande begäran:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. I URI:n ersätter du {scope} med det omfång som du vill lista rolltilldelningarna för.

    Omfattning Typ
    providers/Microsoft.Management/managementGroups/{groupId1} Hanteringsgrupp
    subscriptions/{subscriptionId1} Prenumeration
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Resursgrupp
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Resurs

    I föregående exempel är microsoft.web en resursprovider som refererar till en App Service-instans. På samma sätt kan du använda andra resursproviders och ange omfånget. Mer information finns i Azure-resursprovidrar och typer och azure-resursprovideråtgärder som stöds.

  3. Ersätt {filter} med det villkor som du vill tillämpa för att filtrera rolltilldelningslistan.

    Filter beskrivning
    $filter=atScope() Visar en lista över rolltilldelningar för endast det angivna omfånget, utan att inkludera rolltilldelningarna i underscopes.
    $filter=assignedTo('{objectId}') Visar rolltilldelningar för en angiven användare eller tjänstens huvudnamn.
    Om användaren är medlem i en grupp som har en rolltilldelning visas även rolltilldelningen. Det här filtret är transitivt för grupper, vilket innebär att om användaren är medlem i en grupp och gruppen är medlem i en annan grupp som har en rolltilldelning visas även rolltilldelningen.
    Det här filtret accepterar endast ett objekt-ID för en användare eller ett huvudnamn för tjänsten. Du kan inte skicka ett objekt-ID för en grupp.
    $filter=atScope()+and+assignedTo('{objectId}') Visar rolltilldelningar för den angivna användaren eller tjänstens huvudnamn och i det angivna omfånget.
    $filter=principalId+eq+'{objectId}' Visar rolltilldelningar för en angiven användare, grupp eller tjänstens huvudnamn.

I följande begäran visas alla rolltilldelningar för den angivna användaren i prenumerationsomfånget:

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

Följande visar ett exempel på utdata:

{
    "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}"
        }
    ]
}

Nästa steg