java获取keyvault_ARM Template 结合key vault存储机密信息 (一)
前兩篇講到了terraform,作為跨平臺(tái)的IAC工具絕對(duì)是沒(méi)話說(shuō)的,很非常好用,今天再講回Azure原生的ARM Template,ARM Template好處就是作為微軟的親兒子,兼容性啥的絕對(duì)沒(méi)話說(shuō),但是JSON對(duì)于非開(kāi)發(fā)者來(lái)說(shuō)實(shí)在用著別扭,繁瑣的{}[]這些能搞懵不少人。兩者之間各有優(yōu)劣,用哪種方式都不奇怪,所以今天也來(lái)談一談ARM Template里的一些小技巧,首先來(lái)談下ARM Template和Key Valut的結(jié)合
在部署Azure資源時(shí),經(jīng)常會(huì)涉及到一些機(jī)密信息的問(wèn)題,比如在創(chuàng)建VM時(shí)候要指定password或者key值,在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候也要指定賬號(hào)密碼,如果作為明文輸入的話肯定是不行的,但是指定為securestring又顯得比較麻煩,每次都要手動(dòng)輸入,因?yàn)檫@東西不接受默認(rèn)值,所以兩者都不方便,比較理想的方式其實(shí)是結(jié)合Azure Key Vault來(lái)做
Key Vault是Azure中專門(mén)用來(lái)管理一些機(jī)密信息的服務(wù),像一些加密的字符串,證書(shū)之類的都可以用key vault來(lái)管理,相當(dāng)于就是個(gè)保險(xiǎn)柜一樣,可以把敏感的東西鎖在里邊,需要的時(shí)候再取出來(lái),詳細(xì)的介紹可以參考官方的文檔
下邊來(lái)演示下具體怎么來(lái)用,以一個(gè)例子為背景
我們?cè)趧?chuàng)建Windows VM的時(shí)候需要指定password,而這個(gè)password就可以首先先存儲(chǔ)在key vault中,然后在ARM Template里引用這個(gè)值,這樣既保護(hù)了密碼的安全,又不需要手動(dòng)指定
下邊看下具體怎么實(shí)現(xiàn),首先從創(chuàng)建key vault開(kāi)始,這一步?jīng)]啥特殊的,指定好key vault的名稱和位置即可
下一步一定要注意,這里必須勾選用于模板部署的Azure資源管理器
接下來(lái)創(chuàng)建一個(gè)secret作為密碼
輸入這個(gè)secret的名稱以及對(duì)應(yīng)的值
這樣,這個(gè)password就在key vault里存在了,接下來(lái)就可以在ARM Template里引用了
首先我們可以把password定義成一個(gè)parameter,這樣這個(gè)值就是一個(gè)可變得值了,如果需要不同的password的話,也可以在部署的時(shí)候重新進(jìn)行賦值
adminPasswordOrKey":?{
"type":?"securestring",
"metadata":?{
"description":?"SSH?Key?or?password?for?the?Virtual?Machine.?SSH?key?is?recommended."
}
}
接下來(lái)可以編輯parameter file,在這里設(shè)置一個(gè)default值來(lái)引用剛才創(chuàng)建的secret
parameters":?{
"adminPasswordOrKey":?{
"reference":?{
"keyVault":?{
"id":?"/subscriptions//resourceGroups/mykeyvaultdeploymentrg/providers/Microsoft.KeyVault/vaults/"
},
"secretName":?"password"
}
其他ARM Template里的內(nèi)容和正常部署VM都是一樣的,部署時(shí)指定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"
使用paasword也可以正常進(jìn)行SSH連接
總結(jié)
以上是生活随笔為你收集整理的java获取keyvault_ARM Template 结合key vault存储机密信息 (一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Visual Studio 2008 安
- 下一篇: 软硬件版本号命名规范及原则