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:

  1. Přihlaste se ke svému účtu Azure v Azure CLI.

    az login
    
  2. 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>
    
  3. 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
    
  4. Nasaďte virtuální počítač do Azure pomocí šablony ARM se souborem vlastních parametrů. Tady je příklad šablony pro nasazení TDX: https://aka.ms/TDXtemplate.

    az deployment group create `
     -g $resourceGroup `
     -n $deployName `
     -u "https://aka.ms/CVMTemplate" `
     -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:

  1. Přihlaste se ke svému účtu Azure prostřednictvím Azure CLI.

  2. Vytvořte soubor parametrů JSON. Například azuredeploy.parameters.json.

  3. 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.

  4. 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).

  5. Nakonfigurujte nastavení typu zabezpečení (securityType). Zvolte VMGuestStateOnly pro žádné důvěrné šifrování disku s operačním systémem. Nebo zvolte DiskWithVMGuestState 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 zvolit NonPersistedTPM 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.

  6. 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

  1. Přihlaste se ke svému účtu Azure prostřednictvím Azure CLI.

    az login
    
  2. 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>
    
  3. Udělení důvěrného instančního objektu Confidential VM Orchestrator virtuálního počítače tenantovi

    V tomto kroku musíte být globální Správa nebo potřebujete mít roli Řízení přístupu uživatelů Správa istrator RBAC. 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"
    
  4. Nastavte trezor klíčů Azure. Postup použití spravovaného HSM služby Azure Key Vault najdete v dalším kroku.

    1. 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
      
    2. 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
      
    3. Ujistěte se, že v tomto trezoru klíčů máte roli vlastníka .

    4. Udělte Confidential VM Orchestrator oprávnění trezoru get 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
      
  5. (Volitelné) Pokud nechcete používat trezor klíčů Azure, můžete místo toho vytvořit spravovaný HSM služby Azure Key Vault.

    1. 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.

    2. 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
      
    3. 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
      
  6. Vytvořte nový klíč pomocí služby Azure Key Vault. Postup použití spravovaného HSM Azure najdete v dalším kroku.

    1. Připravte a stáhněte zásady vydávání klíčů na místní disk.

    2. 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"
      
    3. 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
      
    4. 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
      
    5. 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
      
  7. (Volitelné) Vytvořte nový klíč ze spravovaného HSM Azure.

    1. Připravte a stáhněte zásady vydávání klíčů na místní disk.

    2. 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"
      
    3. Získejte informace o klíči, který jste vytvořili.

      $encryptionKeyURL = ((az keyvault key show --hsm-name $hsm --name $KeyName) | ConvertFrom-Json).key.kid
      
    4. Nasazení des.

      $desName = <name of DES>
      az disk-encryption-set create -n $desName `
       -g $resourceGroup `
       --key-url $encryptionKeyURL
      
    5. 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
      
  8. Nasaďte svůj důvěrný virtuální počítač pomocí klíče spravovaného zákazníkem.

    1. Získejte ID prostředku pro DES.

      $desID = (az disk-encryption-set show -n $desName -g $resourceGroup --query [id] -o tsv)
      
    2. Nasaďte svůj důvěrný virtuální počítač pomocí šablony ARM důvěrného virtuálního počítače pro AMD SEV-SNP nebo 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
      
  9. Připojení k vašemu důvěrnému virtuálnímu počítači, abyste měli jistotu, že vytvoření proběhlo úspěšně.

Další kroky