需要Azure结算API权限吗?

时间:2017-10-02 20:37:23

标签: api azure

我正在尝试通过Azure API检索价目表和使用情况。我创建了一个Azure AD应用程序,并授予它“Microsoft Azure Active Directory”和“Windows Azure Service Management API”的权限。

我已经创建了一个Azure AD用户,并在AD应用程序中赋予了“所有者”权限。

我能够进行Oath2身份验证并发出令牌。但是当我尝试访问ratecard API时,我收到以下权限错误:

{  
   "error":{  
      "code":"AuthorizationFailed",
      "message":"The client 'api-user@contoso.onmicrosoft.com' with object id 'xxxxxxxx-xxxx-xxxx-xxx-xxxxxxx' does not have authorization to perform action 'Microsoft.Commerce/RateCard/read' over scope '/subscriptions/xxxxxx-xxxxx-xxxx-xxxxx-xxxxxxxxx'."
   }
}

我认为我需要允许Azure AD用户访问ratecard API,但我无法了解具体方法。希望有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

您可以尝试在订阅中添加自定义角色,并按如下方式授予其权限:

const joi = require('joi');

joi.validate(object, schema, {stripUnknown:true}, callback);

然后将此角色分配给您的应用程序......

答案 1 :(得分:0)

你的回复让我思考。在Azure门户中,我转到了我的订阅/访问控制(IAM)。我在我的Azure AD用户中添加了一个条目,其中包含" Billing Reader"的现有角色。现在,我已经能够成功读出结算API&#39。谢谢!