2016-08-03 33 views
2

Da eine Änderung in der Azure OAuth 2, habe ich einen Fehler:Autorisieren Azure AD-Anwendung Zugriff Mediadaten API

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

Ich habe die role-based assignment instructions gefolgt, fügte eine Reader Rolle für meine Bewerbung die DefaultResourceGroupResource.

enter image description here

Außerdem habe ich eine Admin Rolle im appRoles Abschnitt meiner Anwendung manifestieren.

enter image description here

und das Hinzufügen alle möglichen App-Berechtigungen:

enter image description here

die Mediadaten API aufrufen, rufe ich einen Token:

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" 

Und ich benutze es in meiner Anfrage :

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'" 

Aber ich habe immer noch diesen Fehler.

Was muss ich tun, um diese Berechtigung zu meiner Anwendung hinzuzufügen?

Hier einige Screenshot von meinen App-Berechtigungen:

enter image description here enter image description here

enter image description here

Antwort

2

Nach einem kurzen Anruf mit der Azure-Unterstützung sagen sie mir, dass diese Art von Berechtigung nicht über das Portal gehandhabt werden kann, sondern in PowerShell.

So hatte ich einen Windows 10 Virtual Machine zum Download auszuführen:

Login Azure Account:

Login-AzureRmAccount 

Add Erlaubnis: richtig

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

Um zu überprüfen, ob Berechtigungen zugewiesen werden :

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

I've followed the role-based assignment instructions, added a Reader role for my application to the DefaultResourceGroupResource.

Statt Reader Rolle Berechtigung für eine einzelne Ressource Gruppe geben, versuchen, die gleiche Berechtigung für die Angabe Abonnement-Ebene.

Eine andere Sache, die Sie tun können, ist eine Rolle benutzerdefinierte erstellen in Ihrem Abonnement mit folgenden Berechtigungen:

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

Dann können Sie diese benutzerdefinierte Rolle zu Ihrer Anwendung zuordnen.

+0

Ich habe versucht, die Rolle für die Anwendung auf der Abonnementebene hinzuzufügen, aber das Ergebnis ist dasselbe. – manuquentin

+0

Bitte warten Sie eine Weile. Meiner Erfahrung nach dauert es ein wenig (normalerweise ein paar Minuten), bis die Berechtigungen erfüllt sind. –

+0

Immer noch der gleiche Fehler nach 1 Stunde – manuquentin

Verwandte Themen