Azure保留的VM实例(reservationOrders)是否可以正常工作?

时间:2018-08-08 19:54:09

标签: azure

我有一个使用Azure REST API的正在运行的应用程序,并且想扩展它以收集有关Azure RI(预留实例)的信息。无论我使用文档页面(https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/reservationorder/list)上的“尝试”链接,还是通过我的应用程序中的API调用,都会出现相同的错误。有问题的用户是该帐户的全局管理员。

{
  "error": {
    "code": "AuthorizationFailed",
    "message": "The client 'admin-user@domain.com' with object id 'e127xxxx-f0b7-4b52-802f-yyyyb171zzzz' does not have authorization to perform action 'Microsoft.Capacity/reservationOrders/read' over scope '/providers/Microsoft.Capacity'."
  }
}

想法?如果这是RBAC的问题,那么提供一个“ Try It”链接,其中没有有关使该链接正常工作的先决条件的信息,似乎毫无意义。

谢谢。

2 个答案:

答案 0 :(得分:0)

好吧,全局管理员角色仅适用于Azure AD,您需要owner \ contributor角色才能执行该调用(您特别需要Microsoft.Capacity/reservationOrders/read权限)。

您还可以创建一个自定义角色以应用最低特权原则

https://docs.microsoft.com/en-us/azure/role-based-access-control/overview
https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles

答案 1 :(得分:0)

默认情况下,购买预订的人和帐户管理员在预订上具有所有者角色。因此,购买预订的人或管理员需要向您或您的应用授予对预订的访问权限。您可以执行Azure门户。转到预订,然后选择预订,转到预订顺序并委托访问。您可以选择所需的任何类型的角色(例如,阅读器)。之后,您的用户/应用可以访问该预订顺序下的所有预订。不幸的是,您需要对所有预订订单执行该操作。