(Előzetes verzió) Megbízható indítás engedélyezése meglévő virtuálisgép-méretezési csoportban
A következőkre vonatkozik: ✔️ Linux rendszerű ✔️ windowsos ✔️ virtuálisgép-méretezési csoportok egységes
Az Azure-beli virtuálisgép-méretezési csoportok a megbízható indítás engedélyezését támogatják a meglévő egységes méretezési csoportok virtuális gépei esetében, ha megbízható indítási biztonsági típusra frissítenek.
A megbízható indítás lehetővé teszi az Alapszintű számítási biztonságot az Azure 2. generációs virtuális gépeken és méretezési csoportokon, és védelmet nyújt az olyan fejlett és állandó támadási technikákkal szemben, mint a rendszerindító készletek és a rootkitek. Ehhez olyan infrastruktúra-technológiákat kombinál, mint a Biztonságos rendszerindítás, a vTPM és a rendszerindítási integritás monitorozása a méretezési csoportban.
Korlátozások
A megbízható indítás engedélyezése a meglévő virtuálisgép-méretezési csoportokon az adatlemezekkel jelenleg nem támogatott.
- Annak ellenőrzéséhez, hogy a méretezési csoport adatlemezzel van-e konfigurálva, lépjen a méretezési csoportra –> Lemezek a Beállítások menüben –> ellenőrizze az Adatlemezek címsor alatt
A Megbízható indítás engedélyezése a meglévő virtuálisgép-méretezési csoportokon jelenleg nem támogatott.
A megbízható indítás engedélyezése a meglévő Service Fabric-fürtökön és a Service Fabric által felügyelt fürtökön jelenleg nem támogatott.
Előfeltételek
- Regisztrálja az előzetes verziójú funkciót
ImageSkuGenUpdateWithVMSS
a névtér alattMicrosoft.Compute
a méretezési csoport előfizetésében. További részletekért lásd: Előzetes verziójú funkciók beállítása az Azure-előfizetésben - A méretezési csoport nem függ a megbízható indítással jelenleg nem támogatott funkcióktól.
- A méretezési csoportot megbízható indítással támogatott méretcsaláddal kell konfigurálni
Feljegyzés
- A virtuális gépek mérete a megbízható indítási frissítéssel együtt módosítható. Győződjön meg arról, hogy az új virtuálisgép-méret kvótája a helyén van a frissítési hibák elkerülése érdekében. Tekintse meg a vCPU-kvóták ellenőrzését.
- A virtuális gép méretének módosítása új mérettel újra létrehozza a virtuálisgép-példányt, és az egyes virtuálisgép-példányok állásidejét igényli. Gördülő frissítési módon is elvégezhető, hogy elkerülje a méretezési beállítás állásidejét.
- A méretezési csoportot megbízható indítással támogatott operációsrendszer-lemezképpel kell konfigurálni. Az Azure Compute Gallery operációsrendszer-rendszerképe esetén győződjön meg arról, hogy a rendszerképdefiníció megbízhatóLaunchSupportedként van megjelölve
Megbízható indítás engedélyezése meglévő egységes méretezési csoporton
Ez a szakasz egy ARM-sablon használatának lépéseit ismerteti a meglévő virtuálisgép-méretezési csoport egységesen történő megbízható indításának engedélyezéséhez.
Végezze el az alábbi módosításokat a meglévő ARM-sablon üzembehelyezési kódján. A teljes sablonért tekintse meg a Megbízható indítású méretezési csoport ARM-sablonjának rövid útmutatóját.
Fontos
A megbízható indítási biztonsági típus a méretezési csoporttal apiVersion
2020-12-01
vagy annál magasabb értékekkel érhető el. Ellenőrizze, hogy az API-verzió megfelelően van-e beállítva a frissítés előtt.
Operációsrendszer-rendszerkép: Frissítse az operációsrendszer-lemezképre mutató hivatkozást a Gen2-Trusted launch támogatott operációsrendszer-lemezképre. Győződjön meg arról, hogy a gen2-es forrásrendszerkép biztonsági típussal rendelkezik
TrustedLaunchSupported
, ha az Azure Compute Gallery operációsrendszer-rendszerképét használja."storageProfile": { "osDisk": { "createOption": "FromImage", "caching": "ReadWrite" }, "imageReference": { "publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "2022-datacenter-azure-edition", "version": "latest" } }
(Nem kötelező) Méretezési csoport mérete: Módosítsa a méretezési csoport méretét, ha az aktuális méretcsalád nem támogatott a megbízható indítási biztonsági konfigurációval.
"sku": { "name": "Standard_D2s_v3", "tier": "Standard", "capacity": "[parameters('instanceCount')]" }
Biztonsági profil: Blokk hozzáadása
securityProfile
avirtualMachineProfile
megbízható indítási biztonsági konfiguráció engedélyezéséhez.Feljegyzés
Ajánlott beállítások:
vTPM
:true
éssecureBoot
:true
secureBoot
beállításra van szükségfalse
, ha operációs rendszeren nem aláírt egyéni illesztőprogramot vagy kernelt használ."securityProfile": { "securityType": "TrustedLaunch", "uefiSettings": { "secureBootEnabled": true, "vTpmEnabled": true } }
(Ajánlott) Vendégigazolási bővítmény: Vendégigazolási (GA) bővítmény hozzáadása a méretezési csoport erőforrásához, amely lehetővé teszi a méretezési csoport rendszerindítási integritásának monitorozását.
Fontos
A vendégigazolási bővítmény megköveteli
secureBoot
ésvTPM
be van állítva.true
{ "condition": "[and(parameters('vTPM'), parameters('secureBoot'))]", "type": "Microsoft.Compute/virtualMachineScaleSets/extensions", "apiVersion": "2022-03-01", "name": "[format('{0}/{1}', parameters('vmssName'), GuestAttestation)]", "location": "[parameters('location')]", "properties": { "publisher": "Microsoft.Azure.Security.WindowsAttestation", "type": "GuestAttestation", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": true, "settings": { "AttestationConfig": { "MaaSettings": { "maaEndpoint": "[substring('emptystring', 0, 0)]", "maaTenantName": "GuestAttestation" } } } }, "dependsOn": [ "[resourceId('Microsoft.Compute/virtualMachineScaleSets', parameters('vmssName'))]" ] }
A bővítmény közzétevőjének neve:
Operációs rendszer típusa Bővítmény közzétevője neve Windows Microsoft.Azure.Security.WindowsAttestation Linux Microsoft.Azure.Security.LinuxAttestation Tekintse át a sablon módosításait.
Bontsa ki a teljes ARM-mintasablon megtekintéséhez, amely támogatja a meglévő méretezési csoport megbízható indításra és visszaállításra való frissítését (ha szükséges).
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "vmSku": { "type": "string", "defaultValue": "Standard_D2s_v3", "metadata": { "description": "Size of VMs in the VM Scale Set." } }, "sku": { "type": "string", "defaultValue": "2022-datacenter-azure-edition", "allowedValues": [ "2022-datacenter-azure-edition" ], "metadata": { "description": "The Windows version for the VM. This will pick a fully patched image of this given Windows version." } }, "vmssName": { "type": "string", "maxLength": 61, "metadata": { "description": "String used as a base for naming resources. Must be 3-61 characters in length and globally unique across Azure. A hash is prepended to this string for some resources, and resource-specific information is appended." } }, "instanceCount": { "type": "int", "defaultValue": 2, "maxValue": 100, "minValue": 1, "metadata": { "description": "Number of VM instances (100 or less)." } }, "adminUsername": { "type": "string", "metadata": { "description": "Admin username on all VMs." } }, "adminPassword": { "type": "securestring", "metadata": { "description": "Admin password on all VMs." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "publicIpName": { "type": "string", "defaultValue": "myPublicIP", "metadata": { "description": "Name for the Public IP used to access the virtual machine Scale set." } }, "publicIPAllocationMethod": { "type": "string", "defaultValue": "Static", "allowedValues": [ "Dynamic", "Static" ], "metadata": { "description": "Allocation method for the Public IP used to access the virtual machine set." } }, "publicIpSku": { "type": "string", "defaultValue": "Standard", "allowedValues": [ "Basic", "Standard" ], "metadata": { "description": "SKU for the Public IP used to access the virtual machine Scale set." } }, "dnsLabelPrefix": { "type": "string", "defaultValue": "[toLower(format('{0}-{1}', parameters('vmssName'), uniqueString(resourceGroup().id)))]", "metadata": { "description": "Unique DNS Name for the Public IP used to access the virtual machine Scale set." } }, "healthExtensionProtocol": { "type": "string", "defaultValue": "TCP", "allowedValues": [ "TCP", "HTTP", "HTTPS" ] }, "healthExtensionPort": { "type": "int", "defaultValue": 3389 }, "healthExtensionRequestPath": { "type": "string", "defaultValue": "/" }, "overprovision": { "type": "bool", "defaultValue": false }, "upgradePolicy": { "type": "string", "defaultValue": "Manual", "allowedValues": [ "Manual", "Rolling", "Automatic" ] }, "maxBatchInstancePercent": { "type": "int", "defaultValue": 20 }, "maxUnhealthyInstancePercent": { "type": "int", "defaultValue": 20 }, "maxUnhealthyUpgradedInstancePercent": { "type": "int", "defaultValue": 20 }, "pauseTimeBetweenBatches": { "type": "string", "defaultValue": "PT5S" }, "securityType": { "type": "string", "defaultValue": "TrustedLaunch", "allowedValues": [ "Standard", "TrustedLaunch" ], "metadata": { "description": "Security Type of the Virtual Machine." } }, "encryptionAtHost": { "type": "bool", "defaultValue": false, "metadata": { "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine Scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource." } } }, "variables": { "namingInfix": "[toLower(substring(format('{0}{1}', parameters('vmssName'), uniqueString(resourceGroup().id)), 0, 9))]", "addressPrefix": "10.0.0.0/16", "subnetPrefix": "10.0.0.0/24", "virtualNetworkName": "[format('{0}vnet', variables('namingInfix'))]", "subnetName": "[format('{0}subnet', variables('namingInfix'))]", "loadBalancerName": "[format('{0}lb', variables('namingInfix'))]", "natPoolName": "[format('{0}natpool', variables('namingInfix'))]", "bePoolName": "[format('{0}bepool', variables('namingInfix'))]", "natStartPort": 50000, "natEndPort": 50119, "natBackendPort": 3389, "nicName": "[format('{0}nic', variables('namingInfix'))]", "ipConfigName": "[format('{0}ipconfig', variables('namingInfix'))]", "imageReference": { "2022-datacenter-azure-edition": { "publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "[parameters('sku')]", "version": "latest" } }, "extensionName": "GuestAttestation", "extensionPublisher": "Microsoft.Azure.Security.WindowsAttestation", "extensionVersion": "1.0", "maaTenantName": "GuestAttestation", "maaEndpoint": "[substring('emptyString', 0, 0)]", "uefiSettingsJson": { "secureBootEnabled": true, "vTpmEnabled": true }, "rollingUpgradeJson": { "maxBatchInstancePercent": "[parameters('maxBatchInstancePercent')]", "maxUnhealthyInstancePercent": "[parameters('maxUnhealthyInstancePercent')]", "maxUnhealthyUpgradedInstancePercent": "[parameters('maxUnhealthyUpgradedInstancePercent')]", "pauseTimeBetweenBatches": "[parameters('pauseTimeBetweenBatches')]" } }, "resources": [ { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2022-05-01", "name": "[variables('virtualNetworkName')]", "location": "[parameters('location')]", "properties": { "addressSpace": { "addressPrefixes": [ "[variables('addressPrefix')]" ] }, "subnets": [ { "name": "[variables('subnetName')]", "properties": { "addressPrefix": "[variables('subnetPrefix')]" } } ] } }, { "type": "Microsoft.Network/publicIPAddresses", "apiVersion": "2022-05-01", "name": "[parameters('publicIpName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('publicIpSku')]" }, "properties": { "publicIPAllocationMethod": "[parameters('publicIPAllocationMethod')]", "dnsSettings": { "domainNameLabel": "[parameters('dnsLabelPrefix')]" } } }, { "type": "Microsoft.Network/loadBalancers", "apiVersion": "2022-05-01", "name": "[variables('loadBalancerName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('publicIpSku')]", "tier": "Regional" }, "properties": { "frontendIPConfigurations": [ { "name": "LoadBalancerFrontEnd", "properties": { "publicIPAddress": { "id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]" } } } ], "backendAddressPools": [ { "name": "[variables('bePoolName')]" } ], "inboundNatPools": [ { "name": "[variables('natPoolName')]", "properties": { "frontendIPConfiguration": { "id": "[resourceId('Microsoft.Network/loadBalancers/frontendIPConfigurations', variables('loadBalancerName'), 'loadBalancerFrontEnd')]" }, "protocol": "Tcp", "frontendPortRangeStart": "[variables('natStartPort')]", "frontendPortRangeEnd": "[variables('natEndPort')]", "backendPort": "[variables('natBackendPort')]" } } ] }, "dependsOn": [ "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]" ] }, { "type": "Microsoft.Compute/virtualMachineScaleSets", "apiVersion": "2022-03-01", "name": "[parameters('vmssName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('vmSku')]", "tier": "Standard", "capacity": "[parameters('instanceCount')]" }, "properties": { "virtualMachineProfile": { "storageProfile": { "osDisk": { "createOption": "FromImage", "caching": "ReadWrite" }, "imageReference": "[variables('imageReference')[parameters('sku')]]" }, "osProfile": { "computerNamePrefix": "[variables('namingInfix')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "securityProfile": { "encryptionAtHost": "[parameters('encryptionAtHost')]", "securityType": "[parameters('securityType')]", "uefiSettings": "[if(equals(parameters('securityType'), 'TrustedLaunch'), variables('uefiSettingsJson'), null())]" }, "networkProfile": { "networkInterfaceConfigurations": [ { "name": "[variables('nicName')]", "properties": { "primary": true, "ipConfigurations": [ { "name": "[variables('ipConfigName')]", "properties": { "subnet": { "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]" }, "loadBalancerBackendAddressPools": [ { "id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', variables('loadBalancerName'), variables('bePoolName'))]" } ], "loadBalancerInboundNatPools": [ { "id": "[resourceId('Microsoft.Network/loadBalancers/inboundNatPools', variables('loadBalancerName'), variables('natPoolName'))]" } ] } } ] } } ] }, "extensionProfile": { "extensions": [ { "name": "HealthExtension", "properties": { "publisher": "Microsoft.ManagedServices", "type": "ApplicationHealthWindows", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": false, "settings": { "protocol": "[parameters('healthExtensionProtocol')]", "port": "[parameters('healthExtensionPort')]", "requestPath": "[if(equals(parameters('healthExtensionProtocol'), 'TCP'), null(), parameters('healthExtensionRequestPath'))]" } } } ] }, "diagnosticsProfile": { "bootDiagnostics": { "enabled": true } } }, "orchestrationMode": "Uniform", "overprovision": "[parameters('overprovision')]", "upgradePolicy": { "mode": "[parameters('upgradePolicy')]", "rollingUpgradePolicy": "[if(equals(parameters('upgradePolicy'), 'Rolling'), variables('rollingUpgradeJson'), null())]", "automaticOSUpgradePolicy": { "enableAutomaticOSUpgrade": true } } }, "dependsOn": [ "[resourceId('Microsoft.Network/loadBalancers', variables('loadBalancerName'))]", "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]" ] }, { "condition": "[and(equals(parameters('securityType'), 'TrustedLaunch'), and(equals(variables('uefiSettingsJson').secureBootEnabled, true()), equals(variables('uefiSettingsJson').vTpmEnabled, true())))]", "type": "Microsoft.Compute/virtualMachineScaleSets/extensions", "apiVersion": "2022-03-01", "name": "[format('{0}/{1}', parameters('vmssName'), variables('extensionName'))]", "location": "[parameters('location')]", "properties": { "publisher": "[variables('extensionPublisher')]", "type": "[variables('extensionName')]", "typeHandlerVersion": "[variables('extensionVersion')]", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": true, "settings": { "AttestationConfig": { "MaaSettings": { "maaEndpoint": "[variables('maaEndpoint')]", "maaTenantName": "[variables('maaTenantName')]" } } } }, "dependsOn": [ "[resourceId('Microsoft.Compute/virtualMachineScaleSets', parameters('vmssName'))]" ] } ] }
Hajtsa végre az ARM-sablon üzembe helyezését.
$resourceGroupName = "myResourceGroup" $parameterFile = "folderPathToFile\parameters.json" $templateFile = "folderPathToFile\template.json" New-AzResourceGroupDeployment ` -ResourceGroupName $resourceGroupName ` -TemplateFile $templateFile -TemplateParameterFile $parameterFile
Ellenőrizze, hogy az üzembe helyezés sikeres-e. Ellenőrizze a méretezési csoport egységes biztonsági típusát és UEFI-beállításait az Azure Portal használatával. Ellenőrizze a Biztonság típusa szakaszt az Áttekintés lapon.
Frissítse manuálisan a virtuálisgép-példányokat, ha a méretezési csoport egységes frissítési módja a következőre
Manual
van állítva: .$resourceGroupName = "myResourceGroup" $vmssName = "VMScaleSet001" Update-AzVmssInstance -ResourceGroupName $resourceGroupName -VMScaleSetName $vmssName -InstanceId "0"
Visszaállítás
Ha vissza szeretné állítani a módosításokat a Megbízható indításról a korábbi jól ismert konfigurációra, a Méretezési csoportot Standard értékre kell állítaniasecurityType
.
Ha vissza szeretné állítani a módosításokat a megbízható indításról a korábbi jól ismert konfigurációra, állítsa a securityProfile
Standard értékre az ábrán látható módon. Másik lehetőségként a paraméterek egyéb módosításait is visszaállíthatja – operációsrendszer-rendszerképet, virtuális gép méretét, és ismételje meg az 5–8. lépést a meglévő méretezési csoportban való megbízható indítás engedélyezésével
"securityProfile": {
"securityType": "Standard",
"uefiSettings": "[null()]"
}
Következő lépések
(Ajánlott) A frissítés utáni funkciók lehetővé teszik a rendszerindítási integritás monitorozását a virtuális gép állapotának figyeléséhez a Felhőhöz készült Microsoft Defender használatával.
További információ a megbízható indításról és a gyakori kérdések áttekintéséről.