Udostępnij za pośrednictwem


Rozszerzenie azure Machine Configuration

Rozszerzenie Konfiguracja maszyny wykonuje operacje inspekcji i konfiguracji wewnątrz maszyn wirtualnych.

Aby sprawdzić zasady na maszynach wirtualnych, takie jak definicje punktów odniesienia zabezpieczeń obliczeń platformy Azure dla systemów Linux i Windows, należy zainstalować rozszerzenie Konfiguracja maszyny.

Wymagania wstępne

Aby umożliwić maszynie wirtualnej uwierzytelnianie w usłudze Machine Configuration, maszyna wirtualna musi mieć tożsamość zarządzaną przypisaną przez system. Możesz spełnić wymagania dotyczące tożsamości maszyny wirtualnej, ustawiając "type": "SystemAssigned" właściwość :

"identity": {
   "type": "SystemAssigned"
}

Systemy operacyjne

Obsługa systemu operacyjnego dla rozszerzenia Konfiguracja maszyny jest taka sama jak udokumentowana obsługa systemu operacyjnego dla kompleksowego rozwiązania.

Łączność z Internetem

Agent zainstalowany przez rozszerzenie Konfiguracja maszyny musi mieć możliwość uzyskania dostępu do pakietów zawartości wymienionych przez przypisania konfiguracji gościa i raportowania stanu do usługi Machine Configuration. Maszyna wirtualna może łączyć się przy użyciu wychodzącego protokołu HTTPS za pośrednictwem portu TCP 443 lub połączenia udostępnianego za pośrednictwem sieci prywatnej.

Aby dowiedzieć się więcej o sieci prywatnej, zobacz następujące artykuły:

Instalowanie rozszerzenia

Rozszerzenie Machine Configuration można zainstalować i wdrożyć bezpośrednio z poziomu interfejsu wiersza polecenia platformy Azure lub programu PowerShell. Szablony wdrażania są również dostępne dla usługi Azure Resource Manager (ARM), Bicep i Terraform. Aby uzyskać szczegółowe informacje na temat szablonu wdrożenia, zobacz Microsoft.GuestConfiguration GuestConfigurationAssignments.

Uwaga

W poniższych przykładach wdrożenia zastąp <placeholder> wartości parametrów określonymi wartościami konfiguracji.

Uwagi dotyczące wdrażania

Przed zainstalowaniem i wdrożeniem rozszerzenia Konfiguracja maszyny zapoznaj się z poniższymi zagadnieniami.

  • Nazwa wystąpienia. Podczas instalowania rozszerzenia Konfiguracja maszyny nazwa wystąpienia rozszerzenia musi być ustawiona na AzurePolicyforWindows lub AzurePolicyforLinux. Opisane wcześniej zasady definicji punktu odniesienia zabezpieczeń wymagają tych określonych ciągów.

  • Wersje. Domyślnie wszystkie wdrożenia są aktualizowane do najnowszej wersji. Wartość autoUpgradeMinorVersion właściwości jest domyślnie ustawiona, true chyba że określono inaczej. Ta funkcja pomaga złagodzić obawy dotyczące aktualizowania kodu po wydaniu nowych wersji rozszerzenia Machine Configuration.

  • Automatyczne uaktualnianie. Rozszerzenie Konfiguracja maszyny enableAutomaticUpgrade obsługuje właściwość . Gdy ta właściwość jest ustawiona na truewartość , platforma Azure automatycznie uaktualnia do najnowszej wersji rozszerzenia, ponieważ przyszłe wersje staną się dostępne. Aby uzyskać więcej informacji, zobacz Automatyczne uaktualnianie rozszerzeń dla maszyn wirtualnych i zestawów skalowania maszyn wirtualnych na platformie Azure.

  • Azure Policy. Aby wdrożyć najnowszą wersję rozszerzenia Konfiguracja maszyny na dużą skalę, w tym wymagania dotyczące tożsamości, wykonaj kroki opisane w temacie Tworzenie przypisania zasad, aby zidentyfikować niezgodne zasoby. Utwórz następujące przypisanie za pomocą usługi Azure Policy:

  • Inne właściwości. Nie musisz uwzględniać żadnych ustawień ani właściwości ustawień chronionych w rozszerzeniu Konfiguracja komputera. Agent pobiera tę klasę informacji z zasobów przypisywania konfiguracji gościa interfejsu API REST platformy Azure. Na przykład ConfigurationUriwłaściwości , Modei ConfigurationSetting są zarządzane dla każdej konfiguracji, a nie w rozszerzeniu maszyny wirtualnej.

Interfejs wiersza polecenia platformy Azure

Aby wdrożyć rozszerzenie dla systemu Linux:

az vm extension set  --publisher Microsoft.GuestConfiguration --name ConfigurationForLinux --extension-instance-name AzurePolicyforLinux --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true

Aby wdrożyć rozszerzenie dla systemu Windows:

az vm extension set  --publisher Microsoft.GuestConfiguration --name ConfigurationforWindows --extension-instance-name AzurePolicyforWindows --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true

PowerShell

Aby wdrożyć rozszerzenie dla systemu Linux:

Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationForLinux' -Name 'AzurePolicyforLinux' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true

Aby wdrożyć rozszerzenie dla systemu Windows:

Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationforWindows' -Name 'AzurePolicyforWindows' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true

Szablon ARM

Aby wdrożyć rozszerzenie dla systemu Linux:

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

Aby wdrożyć rozszerzenie dla systemu Windows:

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

Szablon Bicep

Aby wdrożyć rozszerzenie dla systemu Linux:

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: {}
  }
}

Aby wdrożyć rozszerzenie dla systemu Windows:

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: {}
  }
}

Szablon narzędzia Terraform

Aby wdrożyć rozszerzenie dla systemu Linux:

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

Aby wdrożyć rozszerzenie dla systemu Windows:

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

Komunikaty o błędach

W poniższej tabeli wymieniono możliwe komunikaty o błędach związane z włączaniem rozszerzenia Konfiguracji gościa.

Kod błędu opis
NoComplianceReport Maszyna wirtualna nie zgłosiła danych zgodności.
GCExtensionMissing Brak rozszerzenia Konfiguracja komputera (konfiguracja gościa).
ManagedIdentityMissing Brak tożsamości zarządzanej.
UserIdentityMissing Brak tożsamości przypisanej przez użytkownika.
GCExtensionManagedIdentityMissing Brak rozszerzenia konfiguracji maszyny (konfiguracji gościa) i tożsamości zarządzanej.
GCExtensionUserIdentityMissing Brak rozszerzenia konfiguracji komputera (konfiguracji gościa) i tożsamości przypisanej przez użytkownika.
GCExtensionIdentityMissing Brak rozszerzenia Konfiguracji maszyny (konfiguracji gościa), tożsamości zarządzanej i tożsamości przypisanej przez użytkownika.

Następne kroki