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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了您如何在功能应用程序中从Azure Key Vault引用密钥?相关的知识,希望对你有一定的参考价值。

过去我为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参考语法?谢谢!

答案

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

@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

标识值必须相同。

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

以上是关于您如何在功能应用程序中从Azure Key Vault引用密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 中从 Azure SAML 2.0 应用程序获取角色或组

如何在 Web 应用程序中从 Azure AD 刷新 ID 令牌?

如何在函数应用中引用 Azure Key Vault 中的密钥?

如何在 Python 中从 Azure Databricks 插入 Azure SQL 数据库

如何在 Python 中从 Azure 函数调用 Cosmos DB 存储过程?

在 azure blob 子容器中从本地上传 zip