Wyświetlanie listy przypisań ról platformy Azure przy użyciu interfejsu API REST

Kontrola dostępu oparta na rolach (RBAC) platformy Azure to system autoryzacji używany do zarządzania dostępem do zasobów platformy Azure. Aby określić, do jakich zasobów mają dostęp użytkownicy, grupy, jednostki usługi lub tożsamości zarządzane, należy wyświetlić listę ich przypisań ról. W tym artykule opisano sposób wyświetlania listy przypisań ról przy użyciu interfejsu API REST.

Uwaga

Jeśli Twoja organizacja udostępnia funkcje zarządzania dostawcy usług, który korzysta z usługi Azure Lighthouse, przypisania ról autoryzowane przez tego dostawcę usług nie będą wyświetlane tutaj. Podobnie użytkownicy w dzierżawie dostawcy usług nie będą widzieć przypisań ról dla użytkowników w dzierżawie klienta, niezależnie od przypisanej roli.

Uwaga

Aby uzyskać informacje dotyczące wyświetlania lub usuwania danych osobowych, zobacz Azure Data Subject Requests for the GDPR (Żądania podmiotów danych dotyczące RODO na platformie Azure). Aby uzyskać więcej informacji na temat RODO, zobacz sekcję RODO centrum zaufania firmy Microsoft i sekcję RODO w portalu zaufania usług.

Wymagania wstępne

Należy użyć następującej wersji:

  • 2015-07-01 lub nowsze
  • 2022-04-01 lub nowsze, aby uwzględnić warunki

Aby uzyskać więcej informacji, zobacz Wersje interfejsów API rest kontroli dostępu opartej na rolach platformy Azure.

Lista przypisań ról

Aby wyświetlić listę dostępu na podstawie ról na platformie Azure, należy wyświetlić listę przypisań ról. Aby wyświetlić listę przypisań ról, użyj jednego z interfejsów API REST uzyskiwania lub wyświetlania listy. Aby uściślić wyniki, należy określić zakres i opcjonalny filtr.

  1. Zacznij od następującego żądania:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. W identyfikatorze URI zastąp element {scope} zakresem, dla którego chcesz wyświetlić listę przypisań ról.

    Scope Typ
    providers/Microsoft.Management/managementGroups/{groupId1} Grupa zarządzania
    subscriptions/{subscriptionId1} Subskrypcja
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Grupa zasobów
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Zasób

    W poprzednim przykładzie microsoft.web jest dostawcą zasobów, który odwołuje się do wystąpienia usługi App Service. Podobnie można użyć dowolnego innego dostawcy zasobów i określić zakres. Aby uzyskać więcej informacji, zobacz Dostawcy i typy zasobów platformy Azure oraz obsługiwane operacje dostawcy zasobów platformy Azure.

  3. Zastąp element {filter} warunkiem, który chcesz zastosować, aby filtrować listę przypisań ról.

    Filtr opis
    $filter=atScope() Wyświetla listę przypisań ról tylko dla określonego zakresu, a nie w tym przypisań ról w podzakresach.
    $filter=assignedTo('{objectId}') Wyświetla listę przypisań ról dla określonego użytkownika lub jednostki usługi.
    Jeśli użytkownik jest członkiem grupy, która ma przypisanie roli, to przypisanie roli jest również wyświetlane. Ten filtr jest przechodniy dla grup, co oznacza, że jeśli użytkownik jest członkiem grupy, a ta grupa jest członkiem innej grupy, która ma przypisanie roli, to przypisanie roli jest również wymienione.
    Ten filtr akceptuje tylko identyfikator obiektu dla użytkownika lub jednostki usługi. Nie można przekazać identyfikatora obiektu dla grupy.
    $filter=atScope()+and+assignedTo('{objectId}') Wyświetla listę przypisań ról dla określonego użytkownika lub jednostki usługi i w określonym zakresie.
    $filter=principalId+eq+'{objectId}' Wyświetla listę przypisań ról dla określonego użytkownika, grupy lub jednostki usługi.

Następujące żądanie zawiera listę wszystkich przypisań ról dla określonego użytkownika w zakresie subskrypcji:

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

Poniżej przedstawiono przykład danych wyjściowych:

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

Następne kroki