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
Проблема с Azure Key Vault Vault в приложении .NET 6 Container перед Build () ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблема с Azure Key Vault Vault в приложении .NET 6 Container перед Build ()
Anonymous » » в форуме C# - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-