Проблема с доступом к облачным службам Azure через Rest API

Я пытаюсь выполнить вызовы REST API в облачной службе Azure. Я использую Postman для тестирования. Я успешно получил токен носителя и передаю его в запрос.

Однако, похоже, что бы я ни делал, я получаю сообщение об ошибке.

<Error xmlns = "http://schemas.microsoft.com/windowsazure" xmlns:i = "http://www.w3.org/2001/XMLSchema-instance">
    <Code>ForbiddenError</Code>
    <Message>The server failed to authenticate the request. Verify that the certificate is valid and 

связан с этой подпиской.

https://learn.microsoft.com/en-us/rest/api/compute/cloudservices/rest-list-cloud-services

У меня нет проблем с выполнением запросов к другим вызовам API (кроме облачных служб), например с получением списка групп ресурсов и т. д. Кажется, это влияет только на вызовы API облачных служб.

Любая помощь будет оценена по достоинству.

Попробуйте этот запрос https://management.azure.com/subscriptions/<subscription_id>‌​/providers/Microsoft‌​.ClassicCompute/doma‌​inNames?api-version=‌​2016-04-01 и дайте мне знать, подойдет вам это или нет.

Pratik Jadhav 28.08.2024 21:40

Это сработало. Я пытаюсь использовать функцию get-package остального API. Я не вижу в этом эквивалента. Знаете ли вы что-нибудь?

Stephanie J. 28.08.2024 23:21
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первоначально, когда я попытался воспроизвести то же самое в своей среде, я получил ту же ошибку:

Чтобы устранить эту ошибку, необходимо загрузить сертификат (.cer) на уровне подписки Azure.

Для создания самоподписанного сертификата используйте приведенный ниже сценарий PowerShell:

$cert = New-SelfSignedCertificate -DnsName "<your_domain_name" -CertStoreLocation "cert:\CurrentUser\My"

$cert.Thumbprint

Export-PfxCertificate -Cert "cert:\CurrentUser\My\{Thumbprint}" -FilePath "C:\path\to\certificate.pfx" -Password (ConvertTo-SecureString -String "yourpassword" -Force -AsPlainText

Export-Certificate -Cert "cert:\CurrentUser\My\{Thumbprint}" -FilePath "<file_path>\certificate.cer"

После создания самозаверяющего сертификата:

Перейдите в «Подписки» -> «Настройки» -> «Сертификаты управления» -> «Загрузить сертификат».

Теперь сгенерируйте токен доступа, обеспечив aud:https://management.core.windows.net/

Использование сгенерированного выше токена доступа в конечной точке ниже для перечисления облачных сервисов:

Request Header :  x-ms-version : 2009-10-01

GET https://management.core.windows.net/<subscription-id>/services/hostedservices

Ответ:

ПРИМЕЧАНИЕ. Заголовок: версия x-ms должна быть установлена ​​на 2009-10-01 или выше.

Ссылка:

Список облачных сервисов

Это помогло мне в основном справиться. Работает для ресурсов списка. Однако теперь при вызове get-package я получаю следующую ошибку: «https://<storageacountname>.blob.core.windows.net/<containe‌​rname>», указанный для параметра «ContainerUriString», недействителен.</Message></Error>

Stephanie J. 31.08.2024 02:38

Другие вопросы по теме