Azure Web 应用程序配置设置中的“Key Vault 引用错误”

2024-01-09

我有一个由 azure 为 Linux 容器的 Web 应用程序生成的私有证书。我想通过 azure 门户中的 Web 应用程序配置设置将此值传递给我的 .net core 应用程序。这是管道 CI-CD 流程的一部分,在应用程序配置中指定 Identity Server 键值的能力有助于将这些值排除在源代码之外。

PROBLEM

我通过设置不断收到以下错误

❌密钥库参考

also shown here: enter image description 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 应用程序的“完全访问权限”。


一、参考格式@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.导航至网络应用程序 ->Identity-> 复制Object ID(还要确保您使用的是系统分配的 MSI,keyvault 参考功能不支持用户分配的 MSI)

2.然后在Access policies密钥库的 ->Add Access Policy-> 搜索Object ID在步骤 1 中添加它Get Secret如下所示的权限 -> 选择并保存。

3.导航到应用程序并检查它,它工作正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Web 应用程序配置设置中的“Key Vault 引用错误” 的相关文章

随机推荐

  • 自定义错误页面 .Net Core Web 应用程序未显示 500 错误

    我在生产中创建了一个自定义错误页面 它将要求用户更正 HTTP 状态代码页面 而不是显示丑陋的开发人员错误页面 我现在的代码如下 启动 cs public void Configure IApplicationBuilder app IHo
  • Bookshelf.js - 如何保存多对多关系?

    我在以 多对多 关系保存数据时遇到问题 这是我的模型 var CoursePeople bookshelf Model extend tableName course people var Course bookshelf Model ex
  • python subprocess - 分离进程

    我有一个 python 脚本af audit run py 它调用另一个Python脚本request audit py通过subprocess 第二个脚本request audit py在后台调用另一个子进程并返回请求 ID 问题出在第一
  • iPhone 4 Safari 上出现奇怪的水平空白

    在多个设备上测试我的网站的移动版本时 我注意到一个非常奇怪的行为 我有一个可滚动内容 divoverflow auto 并且这在所有测试的设备上都能正常工作 除了 Safari 上的 iPhone 4 其他浏览器和设备可以正确显示它 甚至
  • 如何在scapy中多次发送一个udp数据包?

    如何在scapy中多次发送一个udp数据包 我需要多次发送有效的 udp 数据包 scapy中有什么具体的方法或功能吗 干得好 sendp p iface eth0 inter 1 count x Where p是您的数据包或数据包列表 并
  • binascii.Error:无效的 base64 编码字符串:数据字符数 (1957) 不能多于 1 4 的倍数

    我试图将字符串解码为 base64 然后将其解压缩为 zlib 但出现以下消息 binascii Error 无效的 base64 编码字符串 数据数量 字符 1957 不能多于 4 的倍数 1 Code def decode token
  • 提取 URL 的一部分

    我需要提取hello world此网址的一部分 http example com tags hello world 我对拆分 替换和连接完全感到困惑 最好的方法是什么 我会这样做 var newString oldString replac
  • 使用 Find_All 函数返回意外结果集

    我正在使用 python 3 8 2 和 bs4 BeautifulSoup 我正在尝试查找标签的所有实例 并将每个实例都列在结果集中 每行一个 但是 返回的结果集包含的行数多于网站的原始抓取内容 这是因为结果集的第一行包含该标记的所有实例
  • 角度将文件输入转换为 base64

    我正在尝试在我的 Angular 项目中解析输入到 Base64 的文件 在我的模板中 我有
  • 为什么所有递归模式同义词都被拒绝?

    LANGUAGE PatternSynonyms ViewPatterns data Quun Foo Bar Oink Quun fooey Quun gt Bool fooey Foo True fooey Oink Yum True
  • 如何将外部 .js 文件导入到 Commands.js 中? [Office.js Excel]

    导入不同版本中的函数的正确方法是什么 js脚本写入commands jsOffice Excel 功能区加载项的脚本 这是我的commands html file
  • 有Python库可以处理OWL吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 它可能是像这样大的东西Jena http jena sourceforge net 或者更小的东西 你
  • python无法导入模块

    我使用包设置了我的程序 如下所示 base init py base class py test init py test py 当我做导入声明时from base base class import BaseClass in the te
  • 如何更改Bootstrap-select的边框颜色

    对于像 Bootstrap 这样的自定义框架 选择https silviomoreto github io bootstrap select https silviomoreto github io bootstrap select 如何更
  • 主屏幕上的 iPhone WebApp 持久性

    我创建了一个可以保存到 iPhone 上 主屏幕 的网络应用程序 该应用程序使用画布 并且与不断变化的状态具有相当的交互性 每当应用程序最小化并重新打开时 它都会重置回初始状态 关闭应用程序并重新加载时会发生相同的情况 如预期 如何防止应用
  • 在 .NET 中以编程方式配置网络适配器的最佳方法

    我有一个用 C 编写的应用程序 需要能够在 Windows 中配置网络适配器 我基本上通过 WMI 进行工作 但该解决方案有一些我不喜欢的地方 有时设置似乎不固定 并且当未插入网络电缆时 从 WMI 返回错误方法 所以我无法判断他们是否真的
  • 如何在包装类(来自 C++)中重写 __setattr__?

    Using boost python 我已经能够包装一堂课 Node 它有一些虚拟函数 这很有趣 但现在我试图覆盖setattr getattr为了班级 我有boost python打电话给我自己的setattr实现 但我不知道如何避免发生
  • gitlab更新后查看项目时出现错误500

    dpkg query W gitlab gitlab 7 3 2 omnibus 1 我们在 Ubuntu 14 04 1 LTS 上运行 gitlab 6 9 2 按照此处找到的说明进行操作后https gitlab com gitlab
  • 您可以播放“热门”帖子吗?

    假设我想从 Reddit 子版块 新闻 中流式传输帖子 然而 帖子非常频繁 我们不能说每个帖子都值得 所以我想通过尝试流式传输 热门 列表来过滤好帖子 但我不确定这是否可能 或类似的事情是否可能 通常 我会这样做来传输帖子 for subm
  • Azure Web 应用程序配置设置中的“Key Vault 引用错误”

    我有一个由 azure 为 Linux 容器的 Web 应用程序生成的私有证书 我想通过 azure 门户中的 Web 应用程序配置设置将此值传递给我的 net core 应用程序 这是管道 CI CD 流程的一部分 在应用程序配置中指定