Rychlý start: Nasazení důvěrného virtuálního počítače pomocí šablony ARM
K rychlému vytvoření důvěrného virtuálního počítače Azure můžete použít šablonu Azure Resource Manageru (šablona ARM). Důvěrné virtuální počítače běží na procesorech AMD podporovaných procesory AMD SEV-SNP a Intel podporovanými procesory Intel TDX, aby bylo dosaženo šifrování a izolace paměti virtuálního počítače. Další informace najdete v tématu Přehled důvěrných virtuálních počítačů.
Tento kurz se zabývá nasazením důvěrného virtuálního počítače s vlastní konfigurací.
Požadavky
- Předplatné Azure. Bezplatné zkušební účty nemají přístup k virtuálním počítačům používaným v tomto kurzu. Jednou z možností je použít předplatné s průběžnou platbou.
- Pokud chcete nasadit z Azure CLI, nainstalujte PowerShell a nainstalujte Azure CLI.
Nasazení důvěrné šablony virtuálního počítače pomocí Azure CLI
Můžete nasadit důvěrnou šablonu virtuálního počítače, která má volitelné důvěrné šifrování disku s operačním systémem prostřednictvím klíče spravovaného platformou.
Vytvoření a nasazení důvěrného virtuálního počítače pomocí šablony ARM prostřednictvím Azure CLI:
Přihlaste se ke svému účtu Azure v Azure CLI.
az login
Nastavte své předplatné Azure. Nahraďte
<subscription-id>
identifikátorem předplatného. Ujistěte se, že používáte předplatné, které splňuje požadavky.az account set --subscription <subscription-id>
Nastavte proměnné pro váš důvěrný virtuální počítač. Zadejte název nasazení (), skupinu prostředků (
$deployName
$resourceGroup
), název virtuálního počítače ($vmName
) a oblast Azure ($region
). Nahraďte ukázkové hodnoty vlastními informacemi.Poznámka:
Důvěrné virtuální počítače nejsou dostupné ve všech umístěních. V aktuálně podporovaných umístěních se podívejte , které produkty virtuálních počítačů jsou dostupné v jednotlivých oblastech Azure.
$deployName="<deployment-name>" $resourceGroup="<resource-group-name>" $vmName= "<confidential-vm-name>" $region="<region-name>"
Pokud zadaná skupina prostředků neexistuje, vytvořte skupinu prostředků s tímto názvem.
az group create -n $resourceGroup -l $region
Nasaďte virtuální počítač do Azure pomocí šablony ARM se souborem vlastních parametrů a souborem šablony.
az deployment group create ` -g $resourceGroup ` -n $deployName ` -u "<json-template-file-path>" ` -p "<json-parameter-file-path>" ` -p vmLocation=$region ` vmName=$vmName
Definování souboru vlastních parametrů
Když vytváříte důvěrný virtuální počítač prostřednictvím rozhraní příkazového řádku Azure (Azure CLI), musíte definovat vlastní soubor parametrů. Vytvoření vlastního souboru parametrů JSON:
Přihlaste se ke svému účtu Azure prostřednictvím Azure CLI.
Vytvořte soubor parametrů JSON. Například
azuredeploy.parameters.json
.V závislosti na imagi operačního systému, kterou používáte, zkopírujte do souboru parametrů ukázkový soubor parametrů Windows nebo ukázkový soubor parametrů Linuxu.
Podle potřeby upravte kód JSON v souboru parametrů. Aktualizujte například název image operačního systému (
osImageName
) nebo uživatelské jméno správce (adminUsername
).Nakonfigurujte nastavení typu zabezpečení (
securityType
). ZvolteVMGuestStateOnly
pro žádné důvěrné šifrování disku s operačním systémem. Nebo zvolteDiskWithVMGuestState
důvěrné šifrování disku s operačním systémem pomocí klíče spravovaného platformou. U skladových položek Intel TDX a imagí založených na Linuxu můžou zákazníci zvolitNonPersistedTPM
typ zabezpečení, který se má nasadit pomocí dočasného virtuálního počítače vTPM.NonPersistedTPM
Pro typ zabezpečení použijte minimální "apiVersion": "2023-09-01"Microsoft.Compute/virtualMachines
v souboru šablony.Uložte soubor parametrů.
Příklad souboru parametrů Systému Windows
Tento příklad slouží k vytvoření vlastního souboru parametrů pro důvěrný virtuální počítač s Windows.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmSize": {
"value": "Standard_DC2as_v5"
},
"osImageName": {
"value": "Windows Server 2022 Gen 2"
},
"securityType": {
"value": "DiskWithVMGuestState"
},
"adminUsername": {
"value": "testuser"
},
"adminPasswordOrKey": {
"value": "<your password>"
}
}
}
Příklad souboru parametrů Linuxu
Tento příklad použijte k vytvoření vlastního souboru parametrů pro důvěrný virtuální počítač založený na Linuxu.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmSize": {
"value": "Standard_DC2as_v5"
},
"osImageName": {
"value": "Ubuntu 20.04 LTS Gen 2"
},
"securityType": {
"value": "DiskWithVMGuestState"
},
"adminUsername": {
"value": "testuser"
},
"authenticationType": {
"value": "sshPublicKey"
},
"adminPasswordOrKey": {
"value": <your SSH public key>
}
}
}
Poznámka:
Odpovídajícím způsobem nahraďte hodnotu osImageName.
Nasazení důvěrné šablony virtuálního počítače s důvěrným šifrováním disku s operačním systémem prostřednictvím klíče spravovaného zákazníkem
Přihlaste se ke svému účtu Azure prostřednictvím Azure CLI.
az login
Nastavte své předplatné Azure. Nahraďte
<subscription-id>
identifikátorem předplatného. Ujistěte se, že používáte předplatné, které splňuje požadavky.az account set --subscription <subscription-id>
Udělení důvěrného instančního objektu
Confidential VM Orchestrator
virtuálního počítače tenantoviV tomto kroku musíte být globálním správcem nebo potřebujete mít roli RBAC správce uživatelských přístupů. Nainstalujte sadu Microsoft Graph SDK a spusťte následující příkazy.
Connect-Graph -Tenant "your tenant ID" Application.ReadWrite.All New-MgServicePrincipal -AppId bf7b6499-ff71-4aa2-97a4-f372087be7f0 -DisplayName "Confidential VM Orchestrator"
Nastavte trezor klíčů Azure. Postup použití spravovaného HSM služby Azure Key Vault najdete v dalším kroku.
Vytvořte skupinu prostředků pro trezor klíčů. Vaše instance trezoru klíčů a váš důvěrný virtuální počítač musí být ve stejné oblasti Azure.
$resourceGroup = <key vault resource group> $region = <Azure region> az group create --name $resourceGroup --location $region
Vytvořte instanci trezoru klíčů s skladovou položku Premium a vyberte upřednostňovanou oblast. Standardní skladová položka není podporovaná.
$KeyVault = <name of key vault> az keyvault create --name $KeyVault --resource-group $resourceGroup --location $region --sku Premium --enable-purge-protection
Ujistěte se, že v tomto trezoru klíčů máte roli vlastníka .
Udělte
Confidential VM Orchestrator
oprávnění trezoruget
klíčů.release
$cvmAgent = az ad sp show --id "bf7b6499-ff71-4aa2-97a4-f372087be7f0" | Out-String | ConvertFrom-Json az keyvault set-policy --name $KeyVault --object-id $cvmAgent.Id --key-permissions get release
(Volitelné) Pokud nechcete používat trezor klíčů Azure, můžete místo toho vytvořit spravovaný HSM služby Azure Key Vault.
Postupujte podle rychlého startu a vytvořte spravovaný HSM služby Azure Key Vault pro zřízení a aktivaci spravovaného HSM služby Azure Key Vault.
Povolení ochrany před vymazáním ve spravovaném HSM Azure Tento krok je nutný k povolení verze klíče.
az keyvault update-hsm --subscription $subscriptionId -g $resourceGroup --hsm-name $hsm --enable-purge-protection true
Udělení
Confidential VM Orchestrator
oprávnění spravovanému HSM$cvmAgent = az ad sp show --id "bf7b6499-ff71-4aa2-97a4-f372087be7f0" | Out-String | ConvertFrom-Json az keyvault role assignment create --hsm-name $hsm --assignee $cvmAgent.Id --role "Managed HSM Crypto Service Release User" --scope /keys/$KeyName
Vytvořte nový klíč pomocí služby Azure Key Vault. Postup použití spravovaného HSM Azure najdete v dalším kroku.
Připravte a stáhněte zásady vydávání klíčů na místní disk.
Vytvořte nový klíč.
$KeyName = <name of key> $KeySize = 3072 az keyvault key create --vault-name $KeyVault --name $KeyName --ops wrapKey unwrapkey --kty RSA-HSM --size $KeySize --exportable true --policy "@.\skr-policy.json"
Získejte informace o klíči, který jste vytvořili.
$encryptionKeyVaultId = ((az keyvault show -n $KeyVault -g $resourceGroup) | ConvertFrom-Json).id $encryptionKeyURL= ((az keyvault key show --vault-name $KeyVault --name $KeyName) | ConvertFrom-Json).key.kid
Nasazení sady šifrování disku (DES) pomocí šablony DES ARM (
deployDES.json
).$desName = <name of DES> $deployName = <name of deployment> $desArmTemplate = <name of DES ARM template file> az deployment group create ` -g $resourceGroup ` -n $deployName ` -f $desArmTemplate ` -p desName=$desName ` -p encryptionKeyURL=$encryptionKeyURL ` -p encryptionKeyVaultId=$encryptionKeyVaultId ` -p region=$region
Přiřaďte přístup ke klíči k souboru DES.
$desIdentity= (az disk-encryption-set show -n $desName -g $resourceGroup --query [identity.principalId] -o tsv) az keyvault set-policy -n $KeyVault ` -g $resourceGroup ` --object-id $desIdentity ` --key-permissions wrapkey unwrapkey get
(Volitelné) Vytvořte nový klíč ze spravovaného HSM Azure.
Připravte a stáhněte zásady vydávání klíčů na místní disk.
Vytvořte nový klíč.
$KeyName = <name of key> $KeySize = 3072 az keyvault key create --hsm-name $hsm --name $KeyName --ops wrapKey unwrapkey --kty RSA-HSM --size $KeySize --exportable true --policy "@.\skr-policy.json"
Získejte informace o klíči, který jste vytvořili.
$encryptionKeyURL = ((az keyvault key show --hsm-name $hsm --name $KeyName) | ConvertFrom-Json).key.kid
Nasazení des.
$desName = <name of DES> az disk-encryption-set create -n $desName ` -g $resourceGroup ` --key-url $encryptionKeyURL
Přiřaďte přístup ke klíči des.
desIdentity=$(az disk-encryption-set show -n $desName -g $resourceGroup --query [identity.principalId] -o tsv) az keyvault set-policy -n $hsm ` -g $resourceGroup ` --object-id $desIdentity ` --key-permissions wrapkey unwrapkey get
Nasaďte svůj důvěrný virtuální počítač pomocí klíče spravovaného zákazníkem.
Získejte ID prostředku pro DES.
$desID = (az disk-encryption-set show -n $desName -g $resourceGroup --query [id] -o tsv)
Nasaďte svůj důvěrný virtuální počítač pomocí důvěrné šablony ARM virtuálního počítače pro Intel TDX a soubor parametrů nasazení (například
azuredeploy.parameters.win2022.json
) s klíčem spravovaným zákazníkem.$deployName = <name of deployment> $vmName = <name of confidential VM> $cvmArmTemplate = <name of confidential VM ARM template file> $cvmParameterFile = <name of confidential VM parameter file> az deployment group create ` -g $resourceGroup ` -n $deployName ` -f $cvmArmTemplate ` -p $cvmParameterFile ` -p diskEncryptionSetId=$desID ` -p vmName=$vmName
Připojte se k důvěrnému virtuálnímu počítači a ujistěte se, že vytvoření proběhlo úspěšně.