Share via


Rövid útmutató: Bizalmas virtuális gép üzembe helyezése ARM-sablonnal

Azure Resource Manager-sablon (ARM-sablon) használatával gyorsan létrehozhat egy Azure-beli bizalmas virtuális gépet . A bizalmas virtuális gépek az AMD Standard kiadás V-SNP és Az Intel TDX által támogatott Intel processzorokon egyaránt futnak a virtuális gépek memóriatitkosításának és elkülönítésének érdekében. További információ: Bizalmas virtuális gépek áttekintése.

Ez az oktatóanyag egy bizalmas virtuális gép egyéni konfigurációval történő üzembe helyezését ismerteti.

Előfeltételek

  • Azure-előfizetés. Az ingyenes próbaverziós fiókok nem férnek hozzá az oktatóanyagban használt virtuális gépekhez. Az egyik lehetőség a fizetés használata előfizetés közben.
  • Ha az Azure CLI-ből szeretne üzembe helyezni, telepítse a PowerShellt, és telepítse az Azure CLI-t.

Bizalmas virtuálisgép-sablon üzembe helyezése az Azure CLI-vel

Olyan bizalmas virtuálisgép-sablont helyezhet üzembe, amely opcionális operációsrendszer-lemez bizalmas titkosítással rendelkezik egy platform által felügyelt kulccsal.

A bizalmas virtuális gép létrehozása és üzembe helyezése ARM-sablonnal az Azure CLI-vel:

  1. Jelentkezzen be Azure-fiókjába az Azure CLI-ben.

    az login
    
  2. Állítsa be az Azure-előfizetését. Cserélje le <subscription-id> az előfizetés azonosítóját. Mindenképpen olyan előfizetést használjon, amely megfelel az előfeltételeknek.

    az account set --subscription <subscription-id>
    
  3. Állítsa be a bizalmas virtuális gép változóit. Adja meg az üzembe helyezés nevét ($deployName), az erőforráscsoportot ($resourceGroup), a virtuális gép nevét ($vmName) és az Azure-régiót ($region). Cserélje le a mintaértékeket a saját adataira.

    Feljegyzés

    A bizalmas virtuális gépek nem minden helyen érhetők el. A jelenleg támogatott helyeken tekintse meg, hogy mely virtuálisgép-termékek érhetők el az Azure-régióban.

    $deployName="<deployment-name>"
    $resourceGroup="<resource-group-name>"
    $vmName= "<confidential-vm-name>"
    $region="<region-name>"
    

    Ha a megadott erőforráscsoport nem létezik, hozzon létre egy ilyen nevű erőforráscsoportot.

    az group create -n $resourceGroup -l $region
    
  4. Helyezze üzembe a virtuális gépet az Azure-ban egy ARM-sablonnal, egyéni paraméterfájllal. A TDX-üzemelő példányok esetében itt látható egy példasablon: 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
    

Egyéni paraméterfájl definiálása

Amikor bizalmas virtuális gépet hoz létre az Azure parancssori felületén (Azure CLI) keresztül, egyéni paraméterfájlt kell definiálnia. Egyéni JSON-paraméterfájl létrehozása:

  1. Jelentkezzen be azure-fiókjába az Azure CLI-vel.

  2. JSON-paraméterfájl létrehozása. Például: azuredeploy.parameters.json.

  3. A használt operációsrendszer-lemezképtől függően másolja a példa Windows-paraméterfájlt vagy a példa Linux-paraméterfájlt a paraméterfájlba.

  4. Szükség szerint szerkessze a paraméterfájl JSON-kódját. Frissítse például az operációsrendszer-rendszerkép nevét (osImageName) vagy a rendszergazdai felhasználónevet (adminUsername).

  5. A biztonsági típus beállításának (securityType) konfigurálása. Válasszon operációsrendszer-lemez VMGuestStateOnly bizalmas titkosítása nélkül. Vagy válasszon DiskWithVMGuestState operációsrendszer-lemez bizalmas titkosítását platform által felügyelt kulccsal. Csak Intel TDX SKU-k és Linux-alapú rendszerképek esetén az ügyfelek kiválaszthatják a NonPersistedTPM rövid élettartamú vTPM-sel üzembe helyezendő biztonsági típust. NonPersistedTPM A biztonsági típushoz használja a sablonfájlban a "2023-09-01" minimális "apiVersion": "2023-09-01" Microsoft.Compute/virtualMachines értéket.

  6. Mentse a paraméterfájlt.

Példa Windows paraméterfájlra

Ebben a példában egyéni paraméterfájlt hozhat létre egy Windows-alapú bizalmas virtuális géphez.

{
  "$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élda Linux-paraméterfájlra

Ebben a példában egyéni paraméterfájlt hozhat létre egy Linux-alapú bizalmas virtuális géphez.

{
  "$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>
    }
  }
}

Feljegyzés

Cserélje le az osImageName értéket ennek megfelelően.

Bizalmas virtuálisgép-sablon üzembe helyezése operációsrendszer-lemez bizalmas titkosításával, ügyfél által felügyelt kulccsal

  1. Jelentkezzen be azure-fiókjába az Azure CLI-vel.

    az login
    
  2. Állítsa be az Azure-előfizetését. Cserélje le <subscription-id> az előfizetés azonosítóját. Mindenképpen olyan előfizetést használjon, amely megfelel az előfeltételeknek.

    az account set --subscription <subscription-id>
    
  3. Bizalmas virtuálisgép-szolgáltatásnév Confidential VM Orchestrator megadása bérlőnek

    Ehhez a lépéshez globális Rendszergazda kell lennie, vagy felhasználói hozzáférési Rendszergazda istrator RBAC-szerepkörrel kell rendelkeznie. Telepítse a Microsoft Graph SDK-t az alábbi parancsok végrehajtásához.

    Connect-Graph -Tenant "your tenant ID" Application.ReadWrite.All
    New-MgServicePrincipal -AppId bf7b6499-ff71-4aa2-97a4-f372087be7f0 -DisplayName "Confidential VM Orchestrator"
    
  4. Állítsa be az Azure Key Vaultot. Az Azure Key Vault felügyelt HSM-jének használatáról a következő lépésben olvashat.

    1. Hozzon létre egy erőforráscsoportot a kulcstartóhoz. A kulcstartópéldánynak és a bizalmas virtuális gépnek ugyanabban az Azure-régióban kell lennie.

      $resourceGroup = <key vault resource group>
      $region = <Azure region>
      az group create --name $resourceGroup --location $region
      
    2. Hozzon létre egy key vault-példányt egy prémium termékváltozattal, és válassza ki az előnyben részesített régiót. A standard termékváltozat nem támogatott.

      $KeyVault = <name of key vault>
      az keyvault create --name $KeyVault --resource-group $resourceGroup --location $region --sku Premium --enable-purge-protection
      
    3. Győződjön meg arról, hogy tulajdonosi szerepköre van ebben a kulcstartóban.

    4. Adjon Confidential VM Orchestrator engedélyeket a kulcstartóhoz get és release a kulcstartóhoz.

      $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. (Nem kötelező) Ha nem szeretne Azure Key Vaultot használni, létrehozhat helyette egy Azure Key Vault által felügyelt HSM-et.

    1. Kövesse a rövid útmutatót egy Azure Key Vault által felügyelt HSM létrehozásához az Azure Key Vault által felügyelt HSM kiépítéséhez és aktiválásához.

    2. A törlés elleni védelem engedélyezése az Azure Managed HSM-en. Ez a lépés szükséges a kulcskiadás engedélyezéséhez.

      az keyvault update-hsm --subscription $subscriptionId -g $resourceGroup --hsm-name $hsm --enable-purge-protection true
      
    3. Engedélyek megadása Confidential VM Orchestrator felügyelt HSM-hez.

      $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. Hozzon létre egy új kulcsot az Azure Key Vault használatával. Az Azure Managed HSM használatának módjáról a következő lépésben olvashat.

    1. Készítse elő és töltse le a kulcskiadási szabályzatot a helyi lemezre.

    2. Hozzon létre egy új kulcsot.

      $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. A létrehozott kulccsal kapcsolatos információk lekérése.

      $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. Lemeztitkosítási csoport (DES) üzembe helyezése DES ARM-sablonnal (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. Kulcshozzáférés hozzárendelése a DES-fájlhoz.

      $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. (Nem kötelező) Hozzon létre egy új kulcsot egy Azure-beli felügyelt HSM-ből.

    1. Készítse elő és töltse le a kulcskiadási szabályzatot a helyi lemezre.

    2. Hozza létre az új kulcsot.

      $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. A létrehozott kulccsal kapcsolatos információk lekérése.

      $encryptionKeyURL = ((az keyvault key show --hsm-name $hsm --name $KeyName) | ConvertFrom-Json).key.kid
      
    4. DES üzembe helyezése.

      $desName = <name of DES>
      az disk-encryption-set create -n $desName `
       -g $resourceGroup `
       --key-url $encryptionKeyURL
      
    5. Kulcshozzáférés hozzárendelése a DES-hez.

      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. Helyezze üzembe a bizalmas virtuális gépet az ügyfél által felügyelt kulccsal.

    1. Kérje le a DES erőforrás-azonosítóját.

      $desID = (az disk-encryption-set show -n $desName -g $resourceGroup --query [id] -o tsv)
      
    2. A bizalmas virtuális gép üzembe helyezése az AMD Standard kiadás V-SNP-hez vagy Intel TDX-hez készült bizalmas VM ARM-sablonnal és egy üzembehelyezési paraméterfájllal (példáulazuredeploy.parameters.win2022.json) az ügyfél által felügyelt kulccsal.

      $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. Csatlakozás a bizalmas virtuális gépre, hogy meggyőződjön a létrehozás sikerességéről.

Következő lépések