Проблема с Azure Key Vault Vault в приложении .NET 6 Container перед Build ()C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с Azure Key Vault Vault в приложении .NET 6 Container перед Build ()

Сообщение Anonymous »

setup
Я запускаю веб -приложение .NET 6 в приложении Azure Container и доступ к Key Vault Azure для секретов и строк соединения.
Внедрение зависимостей отлично подходит для инъекции моего пользовательского клиента Vault Cualt (обертка azure.security.keyvault.secrets.secretclient), и я могу успешно получить секреты после Build () (даже из программы .cs).
проблема
Мне нужно извлечь строку подключения из Ключевое хранилище перед Build (), чтобы я мог передать его конструктору услуг при регистрации зависимостей. Вызов secretClient.getSecret (KeyName) сбои на этом этапе. > Журналы
Когда приложение контейнера пытается активировать ревизию (и запускает программу. >

Что я Попробого

[*] Обеспечение управляемой идентификации правильно назначено приложению контейнера.
> < /p>
Как я могу надежно получить секрет перед вызовом Build () в веб -приложении .net 6?
или есть лучший шаблон для обработки этого сценария? < /p >
Любая идея была бы очень оценена!public class KeyVaultService : IKeyVaultService
{
private readonly SecretClient _secretClient;

public KeyVaultService(string keyVaultName)
{
_secretClient = new SecretClient(new Uri($"https://{keyVaultName}.vault.azure.net"), new DefaultAzureCredential());
}

public string GetSecret(string keyName)
{
KeyVaultSecret secret = _secretClient.GetSecret(keyName);
return secret.Value;
}
}

public class Program
{
public static void Main(string[] args)
{
WebApplicationBuilder? builder = WebApplication.CreateBuilder(args);
// ... configuring logging, etc ...

var keyVault = new KeyVaultService(keyVaultName);
// this is where it fails, but only in the Container app
// locally works fine.
string conn = keyVault.GetSecret("ConnectionString");

// registering a service that needs connectionString in its constructor.

var app = builder.Build();

// after Build() the Key Vault works fine.
keyVault = new KeyVaultService(keyVaultName);
conn = keyVault.GetSecret("ConnectionString");

// omitting unrelated code, like app.Run()
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... fore-build
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с Azure Key Vault Vault в приложении .NET 6 Container перед Build ()
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • VSTS Build Pipeline: тест не сбои, подключаясь к Vault Azure Key Vault
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • .NET Framework — 4.7.2 — Azure Key Vault: не удалось загрузить файл или сборку «Azure.Core, версия = 1.37.0.0».
    Anonymous » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • .NET Framework — 4.7.2 — Azure Key Vault: не удалось загрузить файл или сборку «Azure.Core, версия = 1.37.0.0».
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Как я могу использовать Secrets.json и Vault Key Vault без изменения переменных?
    Гость » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»