当前位置: 首页 > 知识库问答 >
问题:

Azure函数密钥库应用程序设置不工作

华俊贤
2023-03-14

我做错了什么试图在我的功能v2应用程序设置以下设置。

@Microsoft.KeyVault(SecretUri=<uri>)

在函数中读取这些内容,我得到的是完整字符串,而不是我所期望的密钥库中的连接字符串。

var config = new ConfigurationBuilder()
                .SetBasePath(context.FunctionAppDirectory)
                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables()
                .Build();

var value = config["cstring"];
var connectionString = Environment.GetEnvironmentVariable("cstring");

log.Info(value); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
log.Info(connectionString); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"

我需要多走几步吗?

共有1个答案

尉迟浩思
2023-03-14

在启用MSI for Azure功能后,我进入了我的密钥库并添加了一个访问策略,这样我的Azure功能应用程序就有了读取机密的权限。该特性应该适用于Azure中托管的所有版本的Azure函数。它在本地将不起作用。

因此,转到您的azure密钥库,并将MSI原则添加到它中,并给予get权限来秘密。

有关更多详细信息,您可以参考本文和本期文章。

 类似资料:
  • 我使用HTTPTrigger创建了一个简单的Azure函数,该函数通过Azure中的门户返回密钥集的秘密值。该值存储为 https://medium.com/statuscode/getting-key-vault-secrets-in-azure-functions-37620FD20A0B

  • [Get-AzureKeyVaultSecret],PSInvalidOperationException FullyQualifiedErrorId:InvalidOperation,Microsoft.azure.commands.keyVault.GetAzureKeyVaultSecret 2018-04-14T17:45:00.709[Error]执行函数时出现异常:functions.

  • 我的web api项目有用于检索密钥库机密的nuget包。因此,在我的global.asax文件中,我有以下内容: 我发表了这篇文章,它起作用了,但它“感觉”不对。 另一个选择是遵循本文https://blog.falafel.com/keeping-secrets-with-azure-key-vault/的内容,但这需要我将KeyVault API包与数据访问耦合起来。

  • 这个Python脚本被部署为从Azure函数应用程序运行在Linux消费计划上,这个脚本被期望从Azure密钥库中读取机密。 除了代码部署之外,还进行了以下配置 null 此错误说明应用程序没有密钥库上的机密获取权限,但如上所述,将角色分配给在密钥库上具有阅读器角色的功能应用程序。 配置中可能出现的问题是什么?如何缓解?

  • 我试图使用Azure Key Vault来存储实体框架的web api连接字符串。理想情况下,我希望避免将key vault nuget包与我的数据访问代码耦合。我的dbContext类有两个构造函数: 我的代码使用了从web配置中获取连接字符串的无参数构造函数。我在某些地方实例化了一个新的MyDbContext对象,这禁止了使用注入的解决方案。 我采用的路线是在我的dbcontext上设置一个带