4 回答
TA贡献1839条经验 获得超15个赞
对于我的应用程序服务,我确实成功地使用了以下表单中没有版本的 Key Vault 参考:
@Microsoft.KeyVault(SecretUri=https://<vault_name>.vault.azure.net/secrets/<secret_name>/)
但是,我确实必须停止并启动(而不是重新启动)应用服务才能从密钥保管库中提取新的秘密值。
TA贡献1803条经验 获得超3个赞
Key Vault 引用目前处于预览阶段。
Key Vault 引用的格式为 @Microsoft.KeyVault({referenceString}),其中 {referenceString} 替换为以下选项之一:
SecretUri=秘密Uri
Key Vault 中机密的完整数据平面 URI在哪里SecretUri
,包括版本,例如https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931
VaultName=vaultName;SecretName=secretName;SecretVersion=secretVersion
VaultName
您的 Key Vault 资源的名称应该在哪里。SecretName
应该是目标机密的名称。SecretVersion
应该是要使用的秘密版本。
例如,完整的参考如下所示:
@Microsoft.KeyVault(SecretUri= https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
或者:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret;SecretVersion=ec96f02080254f109c51a1f14cdb1931)
在当前预览中,versions
是必需的。旋转时secrets
,您需要更新应用程序配置中的版本。
TA贡献1887条经验 获得超5个赞
重新启动应用服务并没有立即生效,所以我就是这样做的。
从 KeyVault 中删除秘密变量。
清除已删除的变量(以便您可以创建一个具有相同名称的新变量)
使用相同的名称和新值再次创建秘密变量。
TA贡献1895条经验 获得超3个赞
使用 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, "")
这两个都将提取最新版本的秘密。所以我假设在 c# 中的代码中这样做或多或少是相同的(或者至少是可能的)。不太确定网络应用程序的应用程序设置=\。
您可能可以使用某种自动化(如 powershell)来更新它们。
- 4 回答
- 0 关注
- 108 浏览
添加回答
举报