2016-12-30 1 views
0

J'ai suivi avec quelques-uns des exemples here en utilisant le functions API en essayant d'obtenir les secrets pour les fonctions déployées.liste secrets pour la fonction Azure dans Powershell

Je suis connecté en tant que propriétaire de l'abonnement via Login-AzureRmAccount et en tirant le jeton d'accès hors du cache de jetons. En utilisant cela, j'utilise Invoke-RestMethod pour appeler dans l'API ARM pour essayer de lister les secrets par l'API des fonctions. Exemple:

# $accessToken is from TokenCache 
$uri = "https://management.azure.com/subscriptions/[my-subscription-guid]/resourceGroups/SampleResourceGroup/providers/Microsoft.Web/sites/SampleFunctionApp/functions/SampleFunction/listsecrets?api-version=2015-08-01" 
Invoke-RestMethod ` 
    -Method Post ` 
    -Headers @{ 
     "Authorization" = "Bearer $accessToken" 
    } ` 
    -Uri $uri 

Azure renvoie un 403, affirmant que la webapp est arrêtée. L'application de la fonction est en cours d'exécution, les autorisations devraient vérifier que je suis le propriétaire. J'ai essayé de faire rebondir le service en vain. (Il convient de mentionner que l'approche ci-dessus fonctionne très bien avec d'autres ressources.)

Qu'est-ce qui me manque? Y at-il un paramètre dans l'application de la fonction que je dois modifier? Sinon, existe-t-il un autre moyen d'obtenir les secrets, soit à partir de la famille de cmdlets AzureRm ou d'une autre API?

Répondre

1

Il s'avère que, pour prévenir les attaques CSRF, l'API Kudu requiert un User-Agent et Content-Type (source here).