java获取keyvault_ARM Template 结合key vault存储机密信息 (一)

前两篇讲到了terraform,作为跨平台的IAC工具绝对是没话说的,很非常好用,今天再讲回Azure原生的ARM Template,ARM Template好处就是作为微软的亲儿子,兼容性啥的绝对没话说,但是JSON对于非开发者来说实在用着别扭,繁琐的{}[]这些能搞懵不少人。两者之间各有优劣,用哪种方式都不奇怪,所以今天也来谈一谈ARM Template里的一些小技巧,首先来谈下ARM Template和Key Valut的结合

在部署Azure资源时,经常会涉及到一些机密信息的问题,比如在创建VM时候要指定password或者key值,在创建数据库的时候也要指定账号密码,如果作为明文输入的话肯定是不行的,但是指定为securestring又显得比较麻烦,每次都要手动输入,因为这东西不接受默认值,所以两者都不方便,比较理想的方式其实是结合Azure Key Vault来做

Key Vault是Azure中专门用来管理一些机密信息的服务,像一些加密的字符串,证书之类的都可以用key vault来管理,相当于就是个保险柜一样,可以把敏感的东西锁在里边,需要的时候再取出来,详细的介绍可以参考官方的文档

下边来演示下具体怎么来用,以一个例子为背景

我们在创建Windows VM的时候需要指定password,而这个password就可以首先先存储在key vault中,然后在ARM Template里引用这个值,这样既保护了密码的安全,又不需要手动指定

下边看下具体怎么实现,首先从创建key vault开始,这一步没啥特殊的,指定好key vault的名称和位置即可

250b36536e35998df6d88631ab742951.png

下一步一定要注意,这里必须勾选用于模板部署的Azure资源管理器

5ed8980cabdfa5284245c463d2c69a3c.png

接下来创建一个secret作为密码

7d26bb813e46dbb074ad197b83b057d2.png

输入这个secret的名称以及对应的值

5218d57d244810599c6ca84810996fd4.png

这样,这个password就在key vault里存在了,接下来就可以在ARM Template里引用了

首先我们可以把password定义成一个parameter,这样这个值就是一个可变得值了,如果需要不同的password的话,也可以在部署的时候重新进行赋值

adminPasswordOrKey": {

"type": "securestring",

"metadata": {

"description": "SSH Key or password for the Virtual Machine. SSH key is recommended."

}

}

接下来可以编辑parameter file,在这里设置一个default值来引用刚才创建的secret

parameters": {

"adminPasswordOrKey": {

"reference": {

"keyVault": {

"id": "/subscriptions//resourceGroups/mykeyvaultdeploymentrg/providers/Microsoft.KeyVault/vaults/"

},

"secretName": "password"

}

其他ARM Template里的内容和正常部署VM都是一样的,部署时指定parameterfile和templatefile即可

New-AzResourceGroupDeployment -ResourceGroupName 'garrickmeng' -TemplateFile "D:\Tech\Cloud\Azure\ARM Template\VM\101-vm-simple-linux - key valut integration\azuredeploy.json" -TemplateParameterFile "D:\Tech\Cloud\Azure\ARM Template\VM\101-vm-simple-linux - key valut integration\azuredeploy.parameters.json"

5fbf3ab258ed7d06464694554ecaf0c2.png

使用paasword也可以正常进行SSH连接

944d6e0eba08fabc36701f7b50e1346f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值