【问题标题】:Authorize Azure AD application to access RateCard API授权 Azure AD 应用程序访问 RateCard API
【发布时间】:2016-08-03 13:26:40
【问题描述】:

由于 Azure OAuth 2 中的更改,我有一个错误:

The client 'xxx' with object id 'xxx' does not have authorization to perform action 'Microsoft.Commerce/RateCard/read' over scope '/subscriptions/xxx'.

我已关注role-based assignment instructions,将我的应用程序的Reader 角色添加到DefaultResourceGroupResource

我还在我的应用程序清单的appRoles 部分添加了Admin 角色。

并添加所有可能的应用权限:

为了调用 RateCard API,我检索了一个令牌:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" "https://login.windows.net/xxx.onmicrosoft.com/oauth2/token" -d "grant_type=client_credentials&client_id=xxx&client_secret=xxx"

我在我的请求中使用它:

curl -H "Authorization: Bearer <token>" "https://management.azure.com/subscriptions/xxxproviders/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId eq 'MS-AZR-0003P' and Currency eq 'USD' and Locale eq 'en-US' and RegionInfo eq 'US'"

但我仍然有这个错误。

我应该怎么做才能将此授权添加到我的应用程序中?

这里是我的应用权限的一些截图:

【问题讨论】:

    标签: api azure oauth billing


    【解决方案1】:

    在与 Azure 支持人员短暂通话后,他们告诉我这种权限无法通过门户处理,必须在 PowerShell 中完成。

    所以我必须下载一个 Windows 10 虚拟机才能运行:

    登录 Azure 帐户:

    Login-AzureRmAccount
    

    添加权限:

    New-AzureRMRoleAssignment -ServicePrincipalName "<my-app-id>" -RoleDefinitionName "Reader" -Scope "/subscriptions/<my-subscription-id>"
    

    检查权限是否分配正确:

    Get-AzurermRoleAssignment  -ServicePrincipalName "<my-app-id>"
    

    【讨论】:

      【解决方案2】:

      我已遵循基于角色的分配说明,添加了阅读器 我的应用程序的角色到 DefaultResourceGroupResource。

      不要授予Reader 对单个资源组的角色权限,而是尝试在订阅级别授予相同的权限。

      您可以做的另一件事是在您的订阅中创建一个具有以下权限的自定义角色

      Microsoft.Commerce/RateCard/read 
      Microsoft.Commerce/UsageAggregates/read
      

      然后您可以将此自定义角色分配给您的应用程序。

      【讨论】:

      • 我尝试在订阅级别为应用添加角色,但结果是一样的
      • 请稍等。根据我的经验,申请权限需要一段时间(通常是几分钟)。
      • 这太奇怪了!您能否分享您的 ratecard-api 应用程序的权限截图?
      • 我已经更新了我的帖子并在最后添加了一些截图。这是您要求的许可吗?
      • 谢谢,但我实际上是在寻找来自门户的屏幕截图,您可以在其中查看您的应用程序在订阅中的角色。
      猜你喜欢
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2021-07-04
      • 2022-09-23
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2019-12-10
      相关资源
      最近更新 更多