共用方式為


使用 REST API 列出 Azure 角色指派

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

注意

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

注意

如需檢視或刪除個人資料的詳細資訊,請參閱GDPR的一般數據主體要求、GDPR的 Azure 數據主體要求或 GDPR 的 Windows 數據主體要求,視您的特定區域和需求而定。 如需 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}"
        }
    ]
}

下一步