Kau*_*yal 7 c# appsettings azure-keyvault azure-functions
下面是我面临的 Key-Vault 问题。 \n\xc2\xa0\n我有一个 Key-Vault,它存储一些在 Web 应用程序中使用的密钥,并使用 \n@Microsoft.KeyVault(SecretUri=)\ n\xc2\xa0\n秘密的值将使用自动化每三天更改一次。这也会更改版本号 (GUID),然后应用程序设置值(在“主要”和“辅助”情况下至少有一个)将变得无效。\n有什么方法可以在应用程序设置中引用 KeyVault 中的最新值吗?\更新所有网站中的应用程序设置将是一个乏味的过程。
\n对于我的应用服务,我确实成功地使用了下表中没有版本的 Key Vault 参考:
@Microsoft.KeyVault(SecretUri=https://<vault_name>.vault.azure.net/secrets/<secret_name>/)
Run Code Online (Sandbox Code Playgroud)
但是,我确实必须停止并启动(而不是重新启动)应用服务才能从密钥保管库中提取新的秘密值。
使用 Azure Python SDK,您可以执行以下操作:
kv_client.get_secret("https://%kvname%.vault.azure.net/", name, KeyVaultId.version_none)
# or this
kv_client.get_secret("https://%kvname%.vault.azure.net/", name, "")
Run Code Online (Sandbox Code Playgroud)
这两个都将提取最新版本的秘密。所以我认为在 c# 代码中执行此操作或多或少是相同的(或者至少是可能的)。不太确定网络应用程序的应用程序设置=\。
您可能可以使用某种自动化(如 powershell)来更新它们。