我有一个由 azure 为 Linux 容器的 Web 应用程序生成的私有证书。我想通过 azure 门户中的 Web 应用程序配置设置将此值传递给我的 .net core 应用程序。这是管道 CI-CD 流程的一部分,在应用程序配置中指定 Identity Server 键值的能力有助于将这些值排除在源代码之外。
PROBLEM
我通过设置不断收到以下错误
❌密钥库参考
also shown here:
我正在尝试使用建议格式的秘密值微软文档在这里 https://learn.microsoft.com/en-us/azure/app-service/app-service-key-vault-references#reference-syntax我尝试过以下格式:
@Microsoft.KeyVault(https://myvault.vault.azure.net/secrets/myCertName/versionGUID)
@Microsoft.KeyVault(VaultName=myvault;SecretName=myCertName;SecretVersion=versionGUID)
另外,我已将 Web 应用程序添加到 azure Key Vault 的访问策略中
EDIT 1:
存在格式错误,并且我的秘密名称错误,因此以下格式有效:
@Microsoft.KeyVault(https://myvault.vault.azure.net/secrets/myCertName/versionGUID)
但是我遇到了一个新错误:
由于站点托管,无法解析 Key Vault 参考
身份未启用MSI未启用
因此,我转到 Web 应用程序的“身份”选项卡,并打开该应用程序的托管身份。
我现在遇到以下错误:
无法解析 Key Vault 引用,因为站点已关闭
拒绝访问 Key Vault 引用的保管库。
我发现多个网站表示,如果您刚刚删除设置并保存,然后将设置添加回来,它应该可以解决。这对我不起作用。
我还尝试在 Azure Key Vault 访问策略中授予对 Web 应用程序的“完全访问权限”。