3 回答

TA貢獻1111條經驗 獲得超0個贊
使用Microsoft.Extensions.Configuration.AzureKeyVault (v3),您可以執行以下操作:
configurationBuilder.AddAzureKeyVault(new AzureKeyVaultConfigurationOptions
{
? ? Vault = configuration["KeyVaultUrl"],
? ? ReloadInterval = TimeSpan.FromMinutes(10),
? ? Client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(
? ? ? ?new AzureServiceTokenProvider().KeyVaultTokenCallback))
});
現在,當您在您的服務中請求時IConfiguration,KeyVault 機密將可用并根據您的重新加載間隔刷新。

TA貢獻1797條經驗 獲得超6個贊
與 Bobby Koteski 提議的相同,但使用更新的Azure.Extensions.AspNetCore.Configuration.Secrets包,因為Microsoft.Extensions.Configuration.AzureKeyVault已棄用。
ReloadInterval
是在嘗試輪詢 Azure Key Vault 以獲取更改之間等待的時間。
configurationBuilder.AddAzureKeyVault(
? ? new SecretClient(
? ? ? ? new Uri(configuration["KeyVaultBaseUrl"]),
? ? ? ? new ManagedIdentityCredential(configuration["UserAssignedManagedIdentityClientId"])
? ? ),
? ? new AzureKeyVaultConfigurationOptions()
? ? {
? ? ? ? ReloadInterval = TimeSpan.FromSeconds(1000)
? ? }
);
以及指向源代碼的鏈接以查看其實際工作原理:)

TA貢獻1872條經驗 獲得超4個贊
秘密被緩存直到IConfigurationRoot.Reload()
被調用。在執行重新加載之前,應用程序不會考慮密鑰保管庫中過期、禁用和更新的機密。
Configuration.Reload();
- 3 回答
- 0 關注
- 194 瀏覽
添加回答
舉報