Есть ли способ получить секрет хранилища ключей с помощью удостоверения пула приложений IIS для проверки подлинности?
Типичное решение для чтения значений из Azure KeyVault -
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
result = await keyVaultClient.GetSecretAsync(secretUrl).ConfigureAwait(false);
Во время этой работыв Visual Studio и даже для приложения Windows / console оно не работает для приложения IIS - даже если пул приложений настроен с использованием идентификатора, который в противном случае работал бы.
Все решения, которые у меня естьНа сегодняшний день установлено, что требуется служебный принцип и указание его идентификатора и секрета, который - и хранит секреты локально, которых я пытаюсь избежать.
Пример: https://blog.bitscry.com/2019/02/13/using-azure-key-vault-in-a-console-application/
var keyClient = new KeyVaultClient(async (authority, resource, scope) => {
var adCredential = new ClientCredential(clientId, clientSecret);
var authenticationContext = new AuthenticationContext(authority, null);
return (await authenticationContext.AcquireTokenAsync(resource, adCredential)).AccessToken;
});