您如何在功能应用程序中从Azure Key Vault引用密钥?

问题描述 投票:0回答:1

过去我为Azure函数使用了很多秘密,现在我正尝试使用RSA加密的4096位密钥。这是PuTTy .ppk专用密钥,我已将其导出为.pem类型以符合Azure的要求。我有一个Python 3.7应用程序,其中已部署了所需的功能,并且尝试使用以下语句在应用程序设置中引用所需的键:

@@ Microsoft.KeyVault(SecretUri = https:// {thevault-address} .vault.azure.net / keys / {thekey-name} /)

以及

@@ Microsoft.KeyVault(SecretUri = https:// {thevault-address} .vault.azure.net / keys / {thekey-name} / latestVersionHash)

但是当我尝试保存它时,它说引用无法解析。

该应用程序启用了Identity,并且Vault为该功能配置了访问策略,该功能针对机密配置为Get和List,对于密钥配置为所有内容(最初只是Get and List,但为了以防万一添加了其余内容,因为我认为这可能是'加密/解密'问题)。

[我为什么会得到Status:InvalidSyntax和Error Details:无法找到Key Vault参考,因为找到了无效的Key Vault参考语法?谢谢!

azure azure-functions putty azure-keyvault pem
1个回答
0
投票

发生这种情况的原因可能是因为您在[]的末尾添加了额外的/

@Microsoft.KeyVault(SecretUri=https://{thevault-address}.vault.azure.net/keys/{thekey-name}/{hashVersion})

要从Web应用程序连接到KeyVault,需要三点

  1. 您的应用程序身份启用
  2. 在Keyvault中设置策略,以便您的应用可以访问该值
  3. 在Web应用程序中的“配置”选项卡中,将变量的值设置为@Microsoft.KeyVault(SecretUri={Secret Identifier})

如果您转到Keyvault资源并单击您的秘密/密钥,则可以找到秘密标识符

enter image description here

标识值必须相同。

在您的情况下,您添加了/。删除它,它将正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.