Как прочитать секреты хранилища ключей через объект IConfiguration при локальной разработке в веб-приложении Azure

#azure #azure-web-app-service #azure-keyvault

#azure #azure-web-app-service #azure-keyvault

Вопрос:

Я создал участника службы для своей локальной разработки через переменную AzureServicesAuthConnectionString среды и предоставил этому участнику доступ к keyvault. Однако, когда я читаю configuration["secret"] секрет в хранилище ключей, он равен нулю, и если я проверяю поставщиков в объекте конфигурации, я не вижу поставщика keyvault, только поставщиков json для моих файлов appsettings. Есть ли какой-то шаг, который я пропускаю?

Ответ №1:

Я создаю веб-приложение .net core и хорошо тестирую его на своем сайте. Вот код, на который вы могли бы сослаться.

В Program.cs:

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration(builder =>
        {
            var azureServiceTokenProvider = new AzureServiceTokenProvider();
            var keyVaultClient =new KeyVaultClient(
                new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
                builder.AddAzureKeyVault("https://yourkeyvaultname.vault.azure.net/",
                keyVaultClient, new DefaultKeyVaultSecretManager());
        })
        .UseStartup<Startup>();
  

В HomeController.cs:

  private readonly IConfiguration _configuration;
 public HomeController(IConfiguration configuration)
 {
     _configuration = configuration;
 }
 public IActionResult Index()
 {
     ViewBag.Secret = _configuration["yoursecretname"];
     return View();
 }
  

Снимок:

введите описание изображения здесь

Для получения более подробной информации вы можете обратиться к этой статье.

Ответ №2:

Вы можете попробовать новую функцию, которую мы должны просто передать секрет непосредственно в настройки приложения.

Вот блог, в котором показано, как это настроить. Это просто и работает также с помощью развертывания шаблонов.

https://learn.microsoft.com/en-us/azure/app-service/app-service-key-vault-references

Комментарии:

1. Будучи новичком в Azure, для меня все это китайский.