2016-12-30 4 views
0

Я слежу за рядом с некоторыми примерами here, используя functions API, пытаясь получить секреты для развернутых функций.перечисление секретов для функции Azure в Powershell

Я зарегистрировался как владелец подписки через Login-AzureRmAccount и вытащил токен доступа из кеша маркера. Используя это, я использую Invoke-RestMethod для вызова API ARM, чтобы попытаться перечислить секреты в API функций. Пример:

# $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 возвращает 403, утверждая, что webapp остановлен. Приложение функции запущено, разрешения должно проверить, поскольку я являюсь владельцем. Я пробовал отказываться от службы безрезультатно. (Следует отметить, что вышеупомянутый подход работает с другими ресурсами.)

Что мне не хватает? Есть ли настройка в приложении, которое мне нужно настроить? Альтернативно, есть ли другой способ получить секреты, из семейства командлетов AzureRm или другого API?

ответ

1

Оказалось, что для предотвращения атак CSRF API Kudu требуется явно User-Agent и Content-Type (источник here).