Я пытаюсь развернуть ресурс Microsoft.Web/connections, используя шаблон ARM. Соединение API подключается к Key Vault в другом клиенте, поэтому для аутентификации мне нужно использовать субъект-службу.
Мне удалось развернуть ресурс, но соединение завершается с ошибкой: Unauthorized при попытке доступа к Key Vault в действии моего приложения логики. Я настроил соединение вручную, чтобы обеспечить правильную настройку субъекта-службы, поэтому я знаю, что это, должно быть, ошибка в моем разделе parameterValues в моем шаблоне ARM.
Я использовал этот инструмент, чтобы попытаться выяснить, что нужно в разделе parameterValues, но я не уверен, что все правильно.
Вот мой отредактированный шаблон ARM для подключения:
{
"type": "Microsoft.Web/connections",
"apiVersion": "2016-06-01",
"name": "NAME_OF_CONNECTION,
"location": "[resourceGroup().location]",
"properties": {
"displayName": "NAME_OF_CONNECTION",
"api": {
"id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/keyvault')]"
},
"parameterValues": {
"vaultName":"NAME_OF_VAULT",
"token:clientId" : "GUID_HERE",
"token:clientSecret" : "SECRET_HERE",
"token:TenantId" : "GUID_HERE",
"token:resourceUri": "https://NAME_OF_VAULT.vault.azure.net/",
"token:grantType": "client_credentials"
}
}
}
Можно ли сделать это? Я не понимаю, почему бы и нет. Если да, то почему это нигде не описано?


Попробуйте использовать "token:resourceUri": "https://vault.azure.net" (без NAME_OF_VAULT и без косой черты в конце).
попробуйте "token:resourceUri": "https://vault.azure.net". ссылка здесь явно требует использования этого в заголовке. https://learn.microsoft.com/en-us/azure/key-vault/general/authentication-requests-and-responses#authentication
Если вышеуказанное не работает, попробуйте изменить на "token:resourceUri": "https://management.azure.com/"
https://vault.azure.net— это то, что необходимо для этой работы. Я использовал URI из свойств, отображаемых в моем хранилище ключей Azure. Спасибо