перечисление секретов для функции Azure в Powershell

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

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

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


person Ross    schedule 30.12.2016    source источник


Ответы (1)


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

person Ross    schedule 30.12.2016