ARM Template 结合key vault存储机密信息 (二)

承接上文,上边主要介绍了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便可
微信

图片9.png


公钥和私钥都已经生成ssh

图片10.png



接下来把公钥里的内容上传到key vault
ide

$publickey=key data3d

$Secret = ConvertTo-SecureString -String $publickey -AsPlainText -Forcecode

Set-AzKeyVaultSecret -VaultName 'AzureKeyVault' -Name 'secretname' -SecretValue $Secretblog

微信截图_20201231132406.png


以后就能够编辑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')]"
                }
 
              ]



接下来正常进行部署便可

图片12.png


使用私钥进行验证时,能够正常链接

图片13.png

图片14.png

相关文章
相关标签/搜索