Azure Machine Configuration-extensie
De machineconfiguratie-extensie voert controle- en configuratiebewerkingen uit binnen virtuele machines (VM's).
Als u beleidsregels in VM's wilt controleren, zoals Azure Compute-beveiligingsbasislijndefinities voor Linux en Windows, moet de machineconfiguratie-extensie zijn geïnstalleerd.
Vereisten
Als u wilt dat uw VIRTUELE machine kan worden geverifieerd bij de Machine Configuration-service, moet uw VM een door het systeem toegewezen beheerde identiteit hebben. U kunt voldoen aan de identiteitsvereiste voor uw VIRTUELE machine door de "type": "SystemAssigned"
eigenschap in te stellen:
"identity": {
"type": "SystemAssigned"
}
Besturingssystemen
Ondersteuning van besturingssystemen voor de extensie Machineconfiguratie is hetzelfde als gedocumenteerde besturingssysteemondersteuning voor de end-to-end-oplossing.
Verbinding met internet
De agent die door de machineconfiguratie-extensie is geïnstalleerd, moet inhoudspakketten kunnen bereiken die worden vermeld door gastconfiguratietoewijzingen en de status rapporteren aan de Machine Configuration-service. De VIRTUELE machine kan verbinding maken met behulp van uitgaande HTTPS via TCP-poort 443 of een verbinding via privénetwerken.
Zie de volgende artikelen voor meer informatie over privénetwerken:
- Azure Mchine-configuratie, communiceren via Azure Private Link
- Privé-eindpunten gebruiken voor Azure Storage
De extensie installeren
U kunt de machineconfiguratie-extensie rechtstreeks vanuit de Azure CLI of PowerShell installeren en implementeren. Implementatiesjablonen zijn ook beschikbaar voor Azure Resource Manager (ARM), Bicep en Terraform. Zie Microsoft.GuestConfiguration guestConfigurationAssignments voor meer informatie over de implementatiesjabloon.
Notitie
Vervang in de volgende implementatievoorbeelden <placeholder>
parameterwaarden door specifieke waarden voor uw configuratie.
Implementatieoverwegingen
Bekijk de volgende overwegingen voordat u de machineconfiguratie-extensie installeert en implementeert.
Exemplaarnaam. Wanneer u de machineconfiguratie-extensie installeert, moet de exemplaarnaam van de extensie worden ingesteld op
AzurePolicyforWindows
ofAzurePolicyforLinux
. Voor het definitiebeleid voor de beveiligingsbasislijn die eerder is beschreven, zijn deze specifieke tekenreeksen vereist.Versies. Standaard worden alle implementaties bijgewerkt naar de nieuwste versie. De waarde van de
autoUpgradeMinorVersion
eigenschap wordt standaard ingesteld optrue
tenzij anders opgegeven. Met deze functie kunt u zorgen maken over het bijwerken van uw code wanneer nieuwe versies van de machineconfiguratie-extensie worden uitgebracht.Automatische upgrade. De machineconfiguratie-extensie ondersteunt de
enableAutomaticUpgrade
eigenschap. Wanneer deze eigenschap is ingesteld optrue
, wordt Azure automatisch bijgewerkt naar de nieuwste versie van de extensie zodra toekomstige releases beschikbaar komen. Zie Automatische extensie-upgrade voor VM's en virtuele-machineschaalsets in Azure voor meer informatie.Azure Policy. Als u de nieuwste versie van de machineconfiguratie-extensie op schaal wilt implementeren, inclusief identiteitsvereisten, volgt u de stappen in Een beleidstoewijzing maken om niet-compatibele resources te identificeren. Maak de volgende toewijzing met Azure Policy:
Andere eigenschappen. U hoeft geen instellingen of eigenschappen voor beveiligde instellingen op te nemen in de machineconfiguratie-extensie. De agent haalt deze informatieklasse op uit de toewijzingsbronnen van de Azure REST API-gastconfiguratie. De ,
Mode
enConfigurationSetting
eigenschappen worden bijvoorbeeldConfigurationUri
elk beheerd per configuratie in plaats van op de VM-extensie.
Azure-CLI
De extensie voor Linux implementeren:
az vm extension set --publisher Microsoft.GuestConfiguration --name ConfigurationForLinux --extension-instance-name AzurePolicyforLinux --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true
De extensie voor Windows implementeren:
az vm extension set --publisher Microsoft.GuestConfiguration --name ConfigurationforWindows --extension-instance-name AzurePolicyforWindows --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true
Powershell
De extensie voor Linux implementeren:
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationForLinux' -Name 'AzurePolicyforLinux' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
De extensie voor Windows implementeren:
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationforWindows' -Name 'AzurePolicyforWindows' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
ARM-sjabloon
De extensie voor Linux implementeren:
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('VMName'), '/AzurePolicyforLinux')]",
"apiVersion": "2020-12-01",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
],
"properties": {
"publisher": "Microsoft.GuestConfiguration",
"type": "ConfigurationForLinux",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {},
"protectedSettings": {}
}
}
De extensie voor Windows implementeren:
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('VMName'), '/AzurePolicyforWindows')]",
"apiVersion": "2020-12-01",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
],
"properties": {
"publisher": "Microsoft.GuestConfiguration",
"type": "ConfigurationforWindows",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {},
"protectedSettings": {}
}
}
Bicep-sjabloon
De extensie voor Linux implementeren:
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
parent: virtualMachine
name: 'AzurePolicyforLinux'
location: resourceGroup().location
properties: {
publisher: 'Microsoft.GuestConfiguration'
type: 'ConfigurationForLinux'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {}
protectedSettings: {}
}
}
De extensie voor Windows implementeren:
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
parent: virtualMachine
name: 'AzurePolicyforWindows'
location: resourceGroup().location
properties: {
publisher: 'Microsoft.GuestConfiguration'
type: 'ConfigurationforWindows'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {}
protectedSettings: {}
}
}
Terraform-sjabloon
De extensie voor Linux implementeren:
resource "azurerm_virtual_machine_extension" "gc" {
name = "AzurePolicyforLinux"
virtual_machine_id = "<myVMID>"
publisher = "Microsoft.GuestConfiguration"
type = "ConfigurationForLinux"
type_handler_version = "1.0"
auto_upgrade_minor_version = "true"
}
De extensie voor Windows implementeren:
resource "azurerm_virtual_machine_extension" "gc" {
name = "AzurePolicyforWindows"
virtual_machine_id = "<myVMID>"
publisher = "Microsoft.GuestConfiguration"
type = "ConfigurationforWindows"
type_handler_version = "1.0"
auto_upgrade_minor_version = "true"
}
Foutberichten
De volgende tabel bevat mogelijke foutberichten met betrekking tot het inschakelen van de extensie Gastconfiguratie.
Foutcode | Beschrijving |
---|---|
NoComplianceReport | De VM heeft de nalevingsgegevens niet gerapporteerd. |
GCExtensionMissing | De extensie Voor machineconfiguratie (gastconfiguratie) ontbreekt. |
ManagedIdentityMissing | De beheerde identiteit ontbreekt. |
UserIdentityMissing | De door de gebruiker toegewezen identiteit ontbreekt. |
GCExtensionManagedIdentityMissing | De extensie voor machineconfiguratie (gastconfiguratie) en beheerde identiteit ontbreken. |
GCExtensionUserIdentityMissing | De extensie voor machineconfiguratie (gastconfiguratie) en door de gebruiker toegewezen identiteit ontbreken. |
GCExtensionIdentityMissing | De extensie machineconfiguratie (gastconfiguratie), beheerde identiteit en door de gebruiker toegewezen identiteit ontbreken. |
Volgende stappen
- Zie Azure Machine Configuration begrijpen voor meer informatie over de machineconfiguratie-extensie.
- Zie Extensies en functies voor virtuele machines voor Linux voor meer informatie over hoe de Linux-agent en -extensies werken.
- Zie extensies en functies voor virtuele machines voor Windows voor meer informatie over hoe de Windows-gastagent en -extensies werken.
- Als u de Windows-gastagent wilt installeren, raadpleegt u het overzicht van azure Virtual Machine Agent.
- Zie De Azure Linux-agent begrijpen en gebruiken om de Linux-agent te installeren.