如果秘密中的值发生变化,密钥保管库值不会更新,因为它会为秘密生成新版本

以下是我面临的 Key-Vault 问题。我有一个 Key-Vault,它存储一些在 Web 应用程序中使用的密钥和使用 @Microsoft.KeyVault(SecretUri=) 的函数。秘密的值将使用自动化每三天更改一次。这也会更改版本号 (GUID),然后应用程序设置值(如果是主要和次要至少一个)将变得无效。有什么方法可以在应用程序设置中引用 KeyVault 的最新值。更新所有网站中的应用程序设置将是一个乏味的过程。



开心每一天1111
浏览 109回答 4
4回答

紫衣仙女

对于我的应用程序服务,我确实成功地使用了以下表单中没有版本的 Key Vault 参考:@Microsoft.KeyVault(SecretUri=https://<vault_name>.vault.azure.net/secrets/<secret_name>/)但是,我确实必须停止并启动(而不是重新启动)应用服务才能从密钥保管库中提取新的秘密值。

繁星点点滴滴

Key Vault 引用目前处于预览阶段。Key Vault 引用的格式为 @Microsoft.KeyVault({referenceString}),其中 {referenceString} 替换为以下选项之一:SecretUri=秘密UriKey Vault 中机密的完整数据平面 URI在哪里SecretUri,包括版本,例如https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931VaultName=vaultName;SecretName=secretName;SecretVersion=secretVersionVaultName您的 Key Vault 资源的名称应该在哪里。SecretName应该是目标机密的名称。SecretVersion应该是要使用的秘密版本。例如,完整的参考如下所示:@Microsoft.KeyVault(SecretUri=&nbsp;https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)或者:@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret;SecretVersion=ec96f02080254f109c51a1f14cdb1931)在当前预览中,versions是必需的。旋转时secrets,您需要更新应用程序配置中的版本。

慕工程0101907

重新启动应用服务并没有立即生效,所以我就是这样做的。从 KeyVault 中删除秘密变量。清除已删除的变量(以便您可以创建一个具有相同名称的新变量)使用相同的名称和新值再次创建秘密变量。

蛊毒传说

使用 Azure Python SDK,您可以执行以下操作:kv_client.get_secret("https://%kvname%.vault.azure.net/", name, KeyVaultId.version_none)# or thiskv_client.get_secret("https://%kvname%.vault.azure.net/", name, "")这两个都将提取最新版本的秘密。所以我假设在 c# 中的代码中这样做或多或少是相同的(或者至少是可能的)。不太确定网络应用程序的应用程序设置=\。您可能可以使用某种自动化(如 powershell)来更新它们。
打开App,查看更多内容
随时随地看视频慕课网APP