检索活动的Azure订阅中的资源列表

时间:2019-10-11 15:30:40

标签: php azure azure-api-management

我正在尝试获取属于给定订阅的资源列表。我已经在Azure AD中创建了一个应用程序,并为其赋予了查看订阅和资源的权限。我可以得到一份订阅列表。当我尝试获取资源列表时,该列表为空白,很明显(如下面的图片所示)有资源。我想念什么?

我的代码:

  $token = getToken();
  $subId = "SomeValidSubscriptionId";
  $url = "https://management.azure.com/subscriptions/".$subId."/resources?api-version=2019-05-10";
  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json charset=utf-8','Authorization: Bearer '.$token));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $result = curl_exec($ch);
    print_r($result);
    $res = json_decode($result,true);
    return $res;

结果:

{"value":[]}Array
(
[value] => Array
    (
    )

)

图片1:我想获取的资源列表:

enter image description here

图像2:1个资源的权限。证明我的billingAPI应用有权查看它:

enter image description here

///忽略billingAPI123资源,这是之前的尝试失败。

1 个答案:

答案 0 :(得分:0)

billingAPI用户具有不允许查看资源的角色。 我当时使用billingReader角色,当切换为所有者时,它可以按预期工作。