azure - 如何在 Nodejs 堆栈上的 Azure Function App 中从 Azure 密钥库中提取密钥
问题描述
我在 Nodejs 版本 12 中创建了一个 Azure Function 应用程序。我的托管环境是 windows。捕获保存在我的函数内的 Azure 密钥库中的用户名和密码的最简单方法是什么。我也在使用内联代码编辑器,所以应该如何在代码中捕获凭据。
谢谢
解决方案
上述答案中使用的节点 SDK 将被弃用,并且不会有新功能和版本。相反,新版本在这里发布:
https://www.npmjs.com/package/@azure/keyvault-secrets
以下是检索秘密值的详细步骤,供您参考。
1.在您的功能中启用系统分配的托管标识。
2.将此服务主体添加到您的密钥保管库的访问策略中。
3.将依赖项安装到您的函数中。
"dependencies": {
"@azure/identity": "^1.0.3",
"@azure/keyvault-secrets": "^4.0.4"
}
4.这是我的测试功能代码
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.执行结果。
推荐阅读
- python - Python - 如何格式化字典但保持相对时间戳?
- python - 在excel文件中搜索匹配的文本单词,获取行内容
- java - 如何在 EAR 上运行“jdeprscan”
- splunk - 单个 splunk 事件多次包含相同的字段值对。如何获取单个事件?
- python - 如何在字典内的列表中逐个打印值
- javascript - 在 ckfinder 上选择时,如何将域 url 添加到上传文件的 url
- python - python: pycodestyle (ex pep8) vs pylint 严格性
- jmeter - JMeter - 吞吐量整形计时器不保持请求/秒速率
- sql - SSIS 包配置文件
- sql - Oracle - 更新日期字段