是否可以从ARM模板中参数文件的自定义数据(cloud-init)部分内部的密钥库中获取秘密?这是我要完成的工作:
为简单起见,我需要将config.json文件注入到vm的特定位置,例如/ tmp。我正在考虑使用cloud-init。
config.json文件如下:
#other cloud-init directives here....
"user": {
"username": "admin",
"password": "password",
"role": "system_administrator",
"type": "local"
}
毋庸置疑,我正在寻找一种方法,以便不对将用cloud-init创建的文件中的密码进行硬编码。是否可以从cloud-init配置内部调用机密?
如果无法完成上述操作,是否可以在我的手臂模板中创建一个变量(该变量从密钥库获取密码),然后在cloud-init配置中引用该变量?
如果这也不可能,是否有人建议如何在cloud-init中创建具有密码的配置文件?
欢迎任何想法,最终将使用azure DevOps部署arm模板,那么也许还有另一种方法吗?还是云初始化不是要走的路?
答案 0 :(得分:1)
我不确定您的问题到底是什么,但是您可以使用this文章来了解如何使用模板中的密钥库机密,这很简单。
笔记夫妇:
#include
http://somesite.com/path/to/cloud-init.txt
答案 1 :(得分:0)
我建议将托管标识包装到对 Keyvault 具有 AccessPolicy READ 的 VM。然后只需通过 Powershell 或 API(invoke-restmethod)提取值作为 CustomData 字段中的内联命令。