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:
Jelentkezzen be Azure-fiókjába az Azure CLI-ben.
az login
Á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>
Á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
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:
Jelentkezzen be azure-fiókjába az Azure CLI-vel.
JSON-paraméterfájl létrehozása. Például:
azuredeploy.parameters.json
.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.
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
).A biztonsági típus beállításának (
securityType
) konfigurálása. Válasszon operációsrendszer-lemezVMGuestStateOnly
bizalmas titkosítása nélkül. Vagy válasszonDiskWithVMGuestState
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 aNonPersistedTPM
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.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
Jelentkezzen be azure-fiókjába az Azure CLI-vel.
az login
Á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>
Bizalmas virtuálisgép-szolgáltatásnév
Confidential VM Orchestrator
megadása bérlőnekEhhez 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"
Á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.
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
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
Győződjön meg arról, hogy tulajdonosi szerepköre van ebben a kulcstartóban.
Adjon
Confidential VM Orchestrator
engedélyeket a kulcstartóhozget
ésrelease
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
(Nem kötelező) Ha nem szeretne Azure Key Vaultot használni, létrehozhat helyette egy Azure Key Vault által felügyelt HSM-et.
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.
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
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
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.
Készítse elő és töltse le a kulcskiadási szabályzatot a helyi lemezre.
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"
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
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
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
(Nem kötelező) Hozzon létre egy új kulcsot egy Azure-beli felügyelt HSM-ből.
Készítse elő és töltse le a kulcskiadási szabályzatot a helyi lemezre.
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"
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
DES üzembe helyezése.
$desName = <name of DES> az disk-encryption-set create -n $desName ` -g $resourceGroup ` --key-url $encryptionKeyURL
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
Helyezze üzembe a bizalmas virtuális gépet az ügyfél által felügyelt kulccsal.
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)
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ául
azuredeploy.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
Csatlakozás a bizalmas virtuális gépre, hogy meggyőződjön a létrehozás sikerességéről.