【问题标题】:Keyword not supported: @microsoft.keyvault不支持关键字:@microsoft.keyvault
【发布时间】:2019-07-08 03:15:45
【问题描述】:

我试图从 azure 密钥库中获取用于 azure 函数的连接字符串。这些是我做的步骤,

  1. 在 azure 函数中创建了托管标识(系统分配)

  2. 在 azure 密钥库中创建机密

  3. 添加访问策略以授予 azure 函数应用权限
  4. 在应用设置中为连接字符串添加了一个条目,其中值为@Microsoft.KeyVault(SecretUri=SECRETURLOFKEYVAULT)

但是当我运行 azure 函数时,我遇到了错误,

“不支持关键字:@microsoft.keyvault(secreturi.....”

这就是我启用托管标识的方式,

我的访问策略如下所示,

任何帮助将不胜感激

【问题讨论】:

  • 您能否确认访问策略是针对托管身份的,并且您没有配置该策略的“授权应用程序”部分?

标签: azure azure-functions azure-keyvault


【解决方案1】:

按照您提供的步骤,运行良好是没有问题的。这是tutorial 关于在 Azure Function 中获取密钥保管库机密的内容,您可以参考。

注意:将访问策略添加到 azure 函数应用对机密具有 Get 权限就足够了

另外,这里有一个类似的issue,由于IP Address restriction blocking it 而得到与您相同的错误。

【讨论】:

  • 我的策略设置为 GET ,正如您在编辑后的问题中看到的那样,但仍然无法正常工作。
  • 你看过我提供的教程了吗?我在我的网站上进行了测试,效果很好。
【解决方案2】:

按照教程,我遇到了类似的问题。我的补救措施是重新启动功能应用程序。保存应用程序设置不足以使 Function App 开始正确使用 Key Vault 机密提供程序。

【讨论】:

  • 我遇到了类似的问题,但必须重新启动整个应用服务才能使其生效。保存或刷新对获取新值完全没有影响。甚至目睹了没有版本的SecretUri 不会获取最新的。我什至禁用了以前的,但什么也没发生。
猜你喜欢
  • 1970-01-01
  • 2011-06-06
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
  • 2012-03-03
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
相关资源
最近更新 更多