Поделиться через


Расширение конфигурации компьютера Azure

Расширение конфигурации компьютера выполняет операции аудита и конфигурации на виртуальных машинах.

Чтобы проверить политики на виртуальных машинах, таких как определения базовых показателей безопасности вычислений Azure для Linux и Windows, необходимо установить расширение конфигурации компьютера.

Необходимые компоненты

Чтобы включить проверку подлинности виртуальной машины в службе конфигурации компьютера, виртуальная машина должна иметь управляемое удостоверение, назначаемое системой. Вы можете удовлетворить требование удостоверения для виртуальной машины, задав "type": "SystemAssigned" свойство:

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

Операционные системы

Поддержка операционной системы расширения конфигурации компьютера совпадает с документацией по поддержке операционной системы для комплексного решения.

Подключение к Интернету

Агент, установленный расширением конфигурации компьютера, должен иметь возможность получить доступ к пакетам содержимого, перечисленным в назначениях гостевой конфигурации, и сообщить о состоянии в службу конфигурации компьютера. Виртуальная машина может подключаться с помощью исходящего HTTPS через TCP-порт 443 или подключение, предоставленное через частные сети.

Дополнительные сведения о частных сетях см. в следующих статьях.

Установка расширения

Вы можете установить и развернуть расширение конфигурации компьютера непосредственно из Azure CLI или PowerShell. Шаблоны развертывания также доступны для Azure Resource Manager (ARM), Bicep и Terraform. Сведения о шаблоне развертывания см. в разделе Microsoft.GuestConfiguration guestConfigurationAssignments.

Примечание.

В следующих примерах развертывания замените <placeholder> значения параметров определенными значениями конфигурации.

Рекомендации по развертыванию

Перед установкой и развертыванием расширения конфигурации компьютера ознакомьтесь со следующими рекомендациями.

Azure CLI

Чтобы развернуть расширение для Linux, выполните следующие действия.

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

Чтобы развернуть расширение для 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

Чтобы развернуть расширение для Linux, выполните следующие действия.

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

Чтобы развернуть расширение для Windows, выполните следующие действия.

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

Шаблон ARM

Чтобы развернуть расширение для 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": {}
  }
}

Чтобы развернуть расширение для 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": {}
  }
}

Шаблон Bicep

Чтобы развернуть расширение для 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: {}
  }
}

Чтобы развернуть расширение для 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: {}
  }
}

Шаблон Terraform

Чтобы развернуть расширение для 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"
}

Чтобы развернуть расширение для 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"
}

Сообщения об ошибках

В следующей таблице перечислены возможные сообщения об ошибках, связанные с включением расширения гостевой конфигурации.

Код ошибки Description
NoComplianceReport Виртуальная машина не сообщила о данных о соответствии.
GCExtensionMissing Отсутствует расширение конфигурации компьютера (гостевая конфигурация).
ManagedIdentityMissing Управляемое удостоверение отсутствует.
UserIdentityMissing Удостоверение, назначаемое пользователем, отсутствует.
GCExtensionManagedIdentityMissing Отсутствует расширение конфигурации компьютера (гостевая конфигурация) и управляемое удостоверение.
GCExtensionUserIdentityMissing Отсутствует расширение конфигурации компьютера (гостевая конфигурация) и удостоверение, назначаемое пользователем.
GCExtensionIdentityMissing Отсутствует расширение конфигурации компьютера (гостевая конфигурация), управляемое удостоверение и назначаемое пользователем удостоверение.

Следующие шаги