承接上文,上边主要介绍了Azure Key Vault中secret和ARM Template的结合,使用reference引用key vault中的值,下边来看下ARM Template中的证书文件如何与key vault集成,linux通常还会使用证书登陆比较安全一些,因此接下来就来看下具体怎么操做linux
通常在登陆Linux的时候,公钥会保存在linux vm里,咱们须要的就是使用私钥进行匹配,经过身份验证就能够登录了,因此咱们须要作的其实就是在部署过程当中把公钥部署到VM中,ARM Template自己就支持这种作法,而key vault也能够支持管理证书,因此彻底能够像引用paasword同样,引用证书的public key安全
首先须要生成一对秘钥,用ssh-keygen便可
微信
公钥和私钥都已经生成ssh
接下来把公钥里的内容上传到key vault
ide
$publickey=key data3d
$Secret = ConvertTo-SecureString -String $publickey -AsPlainText -Forcecode
Set-AzKeyVaultSecret -VaultName 'AzureKeyVault' -Name 'secretname' -SecretValue $Secretblog
以后就能够编辑parameter文件了,仍是同样须要引用reference的内容,只不过换成了证书而不是secret
dns
"parameters": { "keydata": { "reference": { "keyVault": { "id": "/subscriptions/xxxxxx/resourceGroups/xxxxx/providers/Microsoft.KeyVault/vaults/mxykey" }, "secretName": "keydata" } }, "dnsLabelPrefix": { "value": "mxypre" } }
在deploy文件中引用这个keydata的parameter图片
"publicKeys":[ { "path":"[concat('/home/',parameters('adminUserName'),'/.ssh/authorized_keys')]", "keyData":"[parameters('keydata')]" } ]
接下来正常进行部署便可
使用私钥进行验证时,能够正常链接