Меня немного смущает разрозненная документация Microsoft.
Я создал приложение (https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal), что означает, что теперь у меня есть:
- ID приложения
- Ключ
- ID каталога
Я вошел в KeyVault на портале Azure и предоставил приложению разрешения.
В целях тестирования я пытаюсь запустить тест через CURL. Основой, которую я использую для этого, являются следующие страницы Microsoft (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service#request-an-access-token и https://docs.microsoft.com/en-us/rest/api/#create-the-request)
Итак, первое, что я делаю, это получаю токен с помощью следующего вызова:
curl -d "grant_type=client_credentials&client_id=<removed_for_security>&client_secret=<removed_for_security>" https://login.microsoftonline.com/<removed_for_security>/oauth2/token
Это возвращает токен.
Затем я (пытаюсь) использовать этот токен следующим образом:
curl -H "Authorization: Bearer <removed_for_security>” -vv https://<removed_for_security>.vault.azure.net/secrets/<removed_for_security>/<removed_for_security>
Я не получаю никакого контента, просто "HTTP / 1.1 401 неавторизовано"