使用 REST API 列出 Azure 角色指派

Azure 角色型存取控制 (Azure RBAC) 是您用來管理 Azure 資源的存取權的授權系統。 若要判斷哪些資源使用者、群組、服務主體或受控識別可以存取,請列出其角色指派。 本文說明如何使用 REST API 列出角色指派。

注意

如果您的組織已將管理功能外包給使用 Azure Lighthouse 的服務提供者,則此處不會顯示該服務提供者授權的角色指派。 同樣地,服務提供者租使用者中的使用者不會看到客戶租使用者中使用者的角色指派,無論他們獲指派的角色為何。

注意

如需檢視或刪除個人資料的相關資訊,請參閱 GDPR 的 Azure 資料主體要求。 如需 GDPR 的詳細資訊,請參閱 服務信任入口 網站的 Microsoft 信任中心和 GDPR 一節的 GDPR 一節。

必要條件

您必須使用下列版本:

  • 2015-07-01 (含) 以後版本
  • 2022-04-01 或更新版本以包含條件

如需詳細資訊,請參閱 Azure RBAC REST API 的 API 版本。

列出角色指派

在 Azure RBAC 中,若要列出存取權,您可以列出角色指派。 若要列出角色指派,請使用其中 一個角色指派 取得或列出 REST API。 若要精簡結果,您可以指定範圍和選擇性篩選。

  1. 從下列要求開始:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. 在 URI 中,將 {scope} 取代 為您要列出角色指派的範圍。

    範圍 類型
    providers/Microsoft.Management/managementGroups/{groupId1} 管理群組
    subscriptions/{subscriptionId1} 訂用帳戶
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 資源群組
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 資源

    在上述範例中,microsoft.web 是參考 App Service 實例的資源提供者。 同樣地,您可以使用任何其他資源提供者並指定範圍。 如需詳細資訊,請參閱 Azure 資源提供者和類型和 支援的 Azure 資源提供者作業

  3. 將 {filter} 取代 為您要套用以篩選角色指派清單的條件。

    篩選 描述
    $filter=atScope() 僅列出指定範圍的角色指派,不包括子範圍的角色指派。
    $filter=assignedTo('{objectId}') 列出指定使用者或服務主體的角色指派。
    如果使用者是具有角色指派的群組成員,也會列出該角色指派。 此篩選準則適用于群組,這表示如果使用者是群組的成員,且該群組是另一個具有角色指派的群組成員,該角色指派也會列出。
    此篩選只會接受使用者或服務主體的物件識別碼。 您無法傳遞群組的物件識別碼。
    $filter=atScope()+and+assignedTo('{objectId}') 列出指定使用者或服務主體和指定範圍的角色指派。
    $filter=principalId+eq+'{objectId}' 列出指定使用者、群組或服務主體的角色指派。

下列要求會列出訂用帳戶範圍中指定使用者的所有角色指派:

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

下列顯示輸出的範例:

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

下一步