亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Azure KeyVault 配置提供程序在更改時重新加載值

Azure KeyVault 配置提供程序在更改時重新加載值

C#
萬千封印 2023-05-14 16:40:35
我正在使用 Azure Key Vault 配置提供程序在應用程序啟動時讀取一些秘密。然而,秘密在一天中不斷輪換,我希望能夠在輪換發生時重新加載新值。我說的類似于reloadOnChangeapi.ConfigureAppConfiguration((context, config) =>{    config.AddJsonFile("appsettings.json", reloadOnChange: true);})這可能嗎?這是一個 webapi 項目,所以在實踐中,如果更好/更可行的話,我可以手動重新加載每個 HttpRequest 的值。
查看完整描述

3 回答

?
catspeake

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 機密將可用并根據您的重新加載間隔刷新。


查看完整回答
反對 回復 2023-05-14
?
互換的青春

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)

? ? }

);

以及指向源代碼的鏈接以查看其實際工作原理:)



查看完整回答
反對 回復 2023-05-14
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

秘密被緩存直到IConfigurationRoot.Reload()被調用。在執行重新加載之前,應用程序不會考慮密鑰保管庫中過期、禁用和更新的機密。

Configuration.Reload();


查看完整回答
反對 回復 2023-05-14
  • 3 回答
  • 0 關注
  • 194 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號