J K*_*ing 15 azure ssl-certificate azure-keyvault identityserver4 azure-webapps
我有一个由 azure 为 Linux 容器的 Web 应用程序生成的私有证书。我想通过 azure 门户中的 Web 应用程序配置设置将此值传递给我的 .net core 应用程序。这是管道 CI-CD 流程的一部分,在应用程序配置中指定 Identity Server 键值的能力有助于将这些值排除在源代码之外。
\n我通过设置不断收到以下错误
\n\n\n\n\xe2\x9d\x8c密钥保管库参考
\n
我正在尝试使用此处微软文档建议的格式的秘密值\n我尝试了以下格式:
\n@Microsoft.KeyVault(https://myvault.vault.azure.net/secrets/myCertName/versionGUID)\n\n@Microsoft.KeyVault(VaultName=myvault;SecretName=myCertName;SecretVersion=versionGUID)\nRun Code Online (Sandbox Code Playgroud)\n另外,我已将 Web 应用程序添加到 azure Key Vault 的访问策略中
\n存在格式错误,并且我的秘密名称错误,因此以下格式有效:
\n@Microsoft.KeyVault(https://myvault.vault.azure.net/secrets/myCertName/versionGUID)\nRun Code Online (Sandbox Code Playgroud)\n但是我遇到了一个新错误:
\n\n\n无法解析密钥保管库引用,因为站点托管\n未启用身份 MSINotEnabled
\n
因此,我转到 Web 应用程序的“身份”选项卡,并打开该应用程序的托管身份。
\n我现在遇到以下错误:
\n\n\n无法解析 Key Vault 引用,因为\n站点被拒绝访问 Key Vault 引用的保管库。
\n
我发现多个网站表示,如果您刚刚删除设置并保存,然后将设置添加回来,它应该可以解决。这对我不起作用。
\n我还尝试在 Azure Key Vault 访问策略中授予对 Web 应用程序的“完全访问权限”。
\nJoy*_*ang 26
首先,参考文献格式@Microsoft.KeyVault(https://myvault.vault.azure.net/secrets/myCertName/versionGUID)错误,应该是@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/myCertName/versionGUID)。
其次,我认为您没有正确授予网络应用程序的 MSI 权限。
根据您原始帖子中的描述:
另外,我已将 Web 应用程序添加到 azure Key Vault 的访问策略中
然后在你的EDIT 1中:
因此,我转到 Web 应用程序的“身份”选项卡,并打开该应用程序的托管身份。
显然顺序是错误的,如果你之前没有启用应用程序的MSI,你如何将其添加到访问策略中?我想你可能加错了。
因此,就您的情况而言,请确保您已将 Web 应用程序的 MSI 正确添加到访问策略中。
1.导航到 Web 应用程序 -> Identity-> 复制Object ID(另请确保您使用的是系统分配的 MSI,keyvault 参考功能不支持用户分配的 MSI)
2.然后在Access policieskeyvault 的 -> Add Access Policy-> searchrh 中查找步骤 1 并使用SecretObject ID权限添加它,如下所示 -> 选择并保存。Get
3.导航到应用程序并检查它,它工作正常。
小智 8
您的应用程序应该能够访问 Key Vault 以成功解析引用。如果其他所有内容(例如访问策略和语法)似乎都正常,但您的引用无法解析,请尝试检查您的 Key Vault 是否有任何网络限制。
\n如果您在保管库的访问策略设置页面上看到与“网络访问控制”相关的警告,则需要允许应用的 IP 通过 Key Vault 防火墙。
\n\n将您的 app\xe2\x80\x99s IP(在“自定义域”下可用)添加到您的 Key Vault\xe2\x80\x99s 防火墙(在“网络”下)。
\n\n\n| 归档时间: |
|
| 查看次数: |
32144 次 |
| 最近记录: |