Я хочу сохранить секрет в хранилище ключей Azure, использовать настройки приложения в службе приложений (которая работает), и когда я запускаю приложение, я могу получить данные.
Теперь я хочу получить это значение в своей локальной разработке с помощью Visual Studio.
Спасибо за помощь в этом видео: https://thewikihow.com/video_vEaCnhvggz0
Если перейти к отметке 9 минут, я смог
Используя значение для этого как:
@Microsoft.KeyVault(SecretUri=https://keyVaultName/secrets/SecretName/1121283182091283/)
Затем укажите Secret_Value в коде, используя:
в моем web.config:
<add key = "Secret_Value" value = "localDev" />
С#
var Secret = ConfigurationManager.AppSettings["Secret_Value"];
который, когда я запускаю приложение локально на VS, возвращает "localDev", но правильно, когда я запускаю приложение в службе приложений, это возвращает значение из KV
Как мне получить значение на моем локальном разработчике? потому что, очевидно, я не могу этого сделать:
<add key = "Secret_Value" value = "@Microsoft.KeyVault(SecretUri=https://keyVaultName/secrets/SecretName/1121283182091283/)" />
Это возможно? Я знаю, что могу добавить KeyVault как пакет Nuget и получить что-то вроде:
var client = new SecretClient(new Uri(keyVaultURL), new DefaultAzureCredential());
var secret = client.GetSecret(CRM_Secret_KeyVaultName);
но я не хочу этого.
Я хочу вытащить значение из локального вебконфига прямо из KV, возможно ли это? Без написания дополнительного кода? спасибо за любые ответы
как из С#? что ты имеешь в виду, извини?
В VS вам необходимо войти в систему, используя учетные данные, которые вы используете для Azure, и это даст вам правильные учетные данные, однако могут существовать другие настройки и ограничения, которые вы установите в Azure. Используйте DefaultCredntials, и все будет в порядке, поскольку он будет циклически перебирать все возможные, пока вы не получите аутентификацию.
Использование хранилища ключей со ссылкой на локальном компьютере невозможно.
Спасибо за ответы… так можно ли как-нибудь сделать это локально без написания кода?





так можно ли как-нибудь сделать это локально без написания кода?
Мы не можем напрямую связать ссылку Key Vault в локальном файле конфигурации.
Я попытался установить и получить секрет со ссылкой на локальный файл.
Вы можете видеть, что это не работает.


В этом случае вы можете разделить локальную и производственную конфигурации.
Web.config).
ИЛИ
Вы можете установить секретные значения в secrets.xml.

AFAIK, вы можете получить секреты Azure Key Vault либо с помощью кода, либо с помощью ссылки на Key Vault только в развернутой Службе приложений Azure.
Спасибо @RyanHill-MSFT за комментарий.
Key Vault — это размещенная служба, поэтому ее нельзя использовать при локальной разработке. Рекомендуется использовать секреты разработки.
Вы также можете перейти по ссылке GitHub, которая объясняет то же самое.
Спасибо, что нашли время все это написать, я наградил ответом, потому что вы ответили на мой вопрос о том, как это возможно, но теперь у меня есть новая проблема, если у вас есть время, посмотрите мой новый вопрос stackoverflow.com /questions/78439877/… еще раз спасибо
Конечно, проверю и сообщу.
Если вы хотите получить значение из KeyVault, вам как минимум потребуется пройти аутентификацию.