gpt4 book ai didi

添加新 key 版本时,Azure Web App 会失去对 keyvault key 的权限

转载 作者:行者123 更新时间:2023-12-03 06:23:53 24 4
gpt4 key购买 nike

我的 .NET6 Web 应用程序在其配置中使用 keyvault secret 引用。引用文献设置如下:@Microsoft.KeyVault(SecretUri=https://myapp.vault.azure.net/secrets/My--Secret)

应用程序正在使用发布管道进行部署。部署还允许应用程序使用应用程序的 AD 身份访问 keyvault(目前使用旧版 RM):

$servicePrincipalId = $(Get-AzureRmADServicePrincipal -DisplayName $servicePrincipalName).Id

Set-AzureRmKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $servicePrincipalId

应用程序部署后一切正常。重新启动后它也不会出现问题。

但是,当我向引用的 key 添加新版本并重新启动 Web 应用程序时,它会显示该特定 key 的访问错误:

Key Vault reference was not able to be resolved because site was denied access to Key Vault reference's vault.

我尝试了多种方法:

  • 重新启动应用几次 - 没有帮助
  • 重新运行 Powershell 脚本 - 没有帮助
  • 手动从 keyvault 访问策略中删除该应用,重新启动(确定 - 所有引用均显示红色),手动将应用添加回 keyvault 访问策略 - 所有引用均再次变为绿色,除了我修改的引用
  • 重新部署应用的文件 - 没有帮助
  • 通过 Azure 资源组部署任务重新部署应用 - 有效!

总而言之,向应用授予修改后的 keyvault key 权限的唯一方法是重新部署应用。

我可以在具有同一应用程序的两个实例的两个 Azure 订阅中可靠地重现该问题。

这是设计上的正常行为还是我的应用程序以某种奇怪的方式损坏了?向应用程序授予所有 secret 版本(包括 future 版本)权限的可靠程序应该是什么?

最佳答案

What should be the reliable procedure to give the app permissions to> all secret versions, including also the future ones? 

据我所知,如果我们像下面这样配置上述场景,那就不会有问题。不过,您可以分享您的应用程序的代码,以便我可以检查是否需要更改任何内容。

我尝试了以下方法从 Azure key 保管库检索 secret ,它对我有用。

第 1 步:使用 .net 6 运行时创建 Azure 应用服务。

第 2 步:启用系统分配托管身份并记下对象(主体)ID

enter image description here

第 3 步:在 Azure key 保管库中添加访问策略。导航至访问策略并单击创建按钮。

enter image description here

选择所需的权限,然后单击“下一步”。

enter image description here

粘贴在步骤 2 中复制的对象 ID。

enter image description here点击查看+创建

第 4 步:创建 key 并在 Azure Web 应用程序中引用它。

enter image description here

接下来,导航到 Web 应用程序 > 配置添加 key 。

enter image description here

解决这个 secret 需要 1-2 分钟。

enter image description here

我在我的 key 保管库中添加了一个新的 secret 版本,并且它在我的 Web 应用程序中得到了解决,没有错误:-

添加了新版本:-

enter image description here以下是在 key 保管库中添加新版本 key 后的屏幕截图。 enter image description here

关于添加新 key 版本时,Azure Web App 会失去对 keyvault key 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75698178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com