如何在 ARM 模板部署期间在 shell 脚本中隐藏密码
How to hide password in shell script duing ARM template deployment
我正在使用 ARM 模板部署 Azure VM。
template.json
"adminPassword": {
"type": "securestring"
}
parameters.json
"adminPassword": {
"value": null
}
当我在参数中使用"null"时,它会要求我在部署过程中输入密码。
我在部署时输入adminPassword,明文显示,但我想隐藏(比如******)
我怎样才能做到这一点?
如4c74356b41所说,目前还没有办法直接做。
您可以使用 Azure Key Vault 来避免密码显示为纯文本。
Key Vault 可以存储两种类型的信息:密钥(证书)和机密。在您的场景中,您需要使用 Secrets。您需要在 KeyVault 中创建机密。
##get password don't show plaintext
read -s password
azure keyvault create --vault-name 'ContosoKeyVault' --resource-group 'ContosoResourceGroup' --location 'East Asia'
azure keyvault secret set --vault-name 'ContosoKeyVault' --secret-name 'SQLPassword' --value "$password"
在此之后,您需要为模板启用 Key Vault deployment.You 可以使用以下命令执行此操作:
azure keyvault set-policy --vault-name Contoso --enabled-for-template-deployment true
您需要修改如下参数:
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-guid>/resourceGroups/<group name>/providers/Microsoft.KeyVault/vaults/<vault name>"
},
"secretName": "<seccret name>"
}
},
您可以参考这个模板:101-vm-secure-password。
我正在使用 ARM 模板部署 Azure VM。
template.json
"adminPassword": {
"type": "securestring"
}
parameters.json
"adminPassword": {
"value": null
}
当我在参数中使用"null"时,它会要求我在部署过程中输入密码。
我在部署时输入adminPassword,明文显示,但我想隐藏(比如******)
我怎样才能做到这一点?
如4c74356b41所说,目前还没有办法直接做。
您可以使用 Azure Key Vault 来避免密码显示为纯文本。
Key Vault 可以存储两种类型的信息:密钥(证书)和机密。在您的场景中,您需要使用 Secrets。您需要在 KeyVault 中创建机密。
##get password don't show plaintext
read -s password
azure keyvault create --vault-name 'ContosoKeyVault' --resource-group 'ContosoResourceGroup' --location 'East Asia'
azure keyvault secret set --vault-name 'ContosoKeyVault' --secret-name 'SQLPassword' --value "$password"
在此之后,您需要为模板启用 Key Vault deployment.You 可以使用以下命令执行此操作:
azure keyvault set-policy --vault-name Contoso --enabled-for-template-deployment true
您需要修改如下参数:
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-guid>/resourceGroups/<group name>/providers/Microsoft.KeyVault/vaults/<vault name>"
},
"secretName": "<seccret name>"
}
},
您可以参考这个模板:101-vm-secure-password。