Nasazení virtuálního počítače se službou Azure Stack Hub pomocí hesla uloženého v Key Vault
Tento článek vás provede nasazením virtuálního počítače s Windows Serverem pomocí hesla uloženého ve službě Azure Stack Hub Key Vault. Použití hesla trezoru klíčů je bezpečnější než předání hesla ve formátu prostého textu.
Přehled
Hodnoty, jako je heslo, můžete uložit jako tajný kód do trezoru klíčů služby Azure Stack Hub. Po vytvoření tajného kódu na něj můžete odkazovat v šablonách Azure Resource Manager. Použití tajných kódů s Resource Manager přináší následující výhody:
- Tajný kód nemusíte zadávat ručně při každém nasazení prostředku.
- Můžete určit, kteří uživatelé nebo instanční objekty mají přístup k tajnému klíči.
Požadavky
- Musíte se přihlásit k odběru nabídky, která zahrnuje službu Key Vault.
- Nainstalujte PowerShell pro Azure Stack Hub.
- Nakonfigurujte prostředí PowerShell.
Následující kroky popisují proces potřebný k vytvoření virtuálního počítače načtením hesla uloženého v Key Vault:
- Vytvořte tajný kód Key Vault.
- Aktualizujte
azuredeploy.parameters.json
soubor. - Nasazení šablony
Poznámka
Tyto kroky můžete použít ze sady Azure Stack Development Kit (ASDK) nebo z externího klienta, pokud jste připojení přes SÍŤ VPN.
Vytvoření tajného kódu Key Vault
Následující skript vytvoří trezor klíčů a uloží do trezoru klíčů heslo jako tajný kód. Při vytváření trezoru -EnabledForDeployment
klíčů použijte parametr . Tento parametr zajišťuje, aby na trezor klíčů bylo možné odkazovat ze šablon Azure Resource Manager.
$vaultName = "contosovault"
$resourceGroup = "contosovaultrg"
$location = "local"
$secretName = "MySecret"
New-AzResourceGroup `
-Name $resourceGroup `
-Location $location
New-AzKeyVault `
-VaultName $vaultName `
-ResourceGroupName $resourceGroup `
-Location $location
-EnabledForTemplateDeployment
$secretValue = ConvertTo-SecureString -String '<Password for your virtual machine>' -AsPlainText -Force
Set-AzureKeyVaultSecret `
-VaultName $vaultName `
-Name $secretName `
-SecretValue $secretValue
Při spuštění předchozího skriptu bude výstup obsahovat identifikátor URI tajného kódu (Uniform Resource Identifier). Poznamenejte si tento identifikátor URI. Musíte na něj odkazovat v šabloně Nasazení virtuálního počítače s Windows pomocí hesla v trezoru klíčů . Stáhněte si do vývojového počítače složku 101-vm-secure-password . Tato složka obsahuje azuredeploy.json
soubory a azuredeploy.parameters.json
, které budete potřebovat v dalších krocích.
azuredeploy.parameters.json
Upravte soubor podle hodnot vašeho prostředí. Parametry, které vás zajímají, jsou název trezoru, skupina prostředků trezoru a identifikátor URI tajného kódu (vygenerovaný předchozím skriptem). Následující soubor je příkladem souboru parametrů.
Aktualizace souboru azuredeploy.parameters.json
azuredeploy.parameters.json
Aktualizujte soubor identifikátory URI služby KeyVault, secretName a adminUsername hodnot virtuálního počítače podle vašeho prostředí. Následující soubor JSON ukazuje příklad souboru parametrů šablony:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminUsername": {
"value": "demouser"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/xxxxxx/resourceGroups/RgKvPwd/providers/Microsoft.KeyVault/vaults/KvPwd"
},
"secretName": "MySecret"
}
},
"dnsLabelPrefix": {
"value": "mydns123456"
},
"windowsOSVersion": {
"value": "2016-Datacenter"
}
}
}
Nasazení šablon
Teď nasaďte šablonu pomocí následujícího skriptu PowerShellu:
New-AzResourceGroupDeployment `
-Name KVPwdDeployment `
-ResourceGroupName $resourceGroup `
-TemplateFile "<Fully qualified path to the azuredeploy.json file>" `
-TemplateParameterFile "<Fully qualified path to the azuredeploy.parameters.json file>"
Po úspěšném nasazení šablony se zobrazí následující výstup: