如何从 Azure Function App on Nodejs 堆栈中的 Azure Key Vault 中提取密钥

How to extract Secret key from Azure key vault in Azure Function App on Nodejs stack

我在 Nodejs 版本 12 中创建了一个 Azure Function 应用程序。我的托管环境是 windows。捕获保存在我的函数内的 Azure 密钥保管库中的用户名和密码的最简单方法是什么。 此外,我正在使用内联代码编辑器,因此应该如何在代码中捕获凭据。

谢谢

上述答案中使用的节点 SDK 将被弃用,不会有新功能和版本。相反,新版本在这里发布:

https://www.npmjs.com/package/@azure/keyvault-secrets

下面是获取密值的详细步骤,供大家参考。

1.Enable 系统在您的函数中分配托管标识。

2.Add 此服务主体对您的密钥保管库的访问策略。

3.Install 函数的依赖关系。

  "dependencies": {
    "@azure/identity": "^1.0.3",
    "@azure/keyvault-secrets": "^4.0.4"
  }

4.Here是我的测试函数代码

module.exports = async function (context, req) {

const { DefaultAzureCredential } = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");
const keyVaultName = "tonykeyvault20190801";
const KVUri = "https://" + keyVaultName + ".vault.azure.net";

const credential = new DefaultAzureCredential();
const client = new SecretClient(KVUri, credential);

const retrievedSecret = await client.getSecret("username");
const username=retrievedSecret.value;
context.log(username);
  context.res = {
      body: username 
  };
}

5.The执行结果.