Расширение конфигурации компьютера для автоматического управления Azure
Расширение конфигурации компьютера — это функция автоматического управления Azure, которая выполняет операции аудита и настройки в виртуальных машинах.
Для проверка политик на виртуальных машинах, таких как определения базовых показателей безопасности вычислений Azure для Linux и Windows, необходимо установить расширение конфигурации компьютера.
Предварительные требования
Чтобы позволить виртуальной машине проходить проверку подлинности в службе конфигурации компьютера, она должна иметь управляемое удостоверение, назначаемое системой. Вы можете удовлетворить требования к удостоверению для виртуальной машины, задав "type": "SystemAssigned"
свойство :
"identity": {
"type": "SystemAssigned"
}
Операционные системы
Поддержка операционной системы для расширения конфигурации компьютера аналогична задокументированной поддержке операционной системы для комплексного решения.
Подключение к Интернету
Агент, установленный расширением конфигурации компьютера, должен иметь возможность получать доступ к пакетам содержимого, перечисленным в назначениях гостевой конфигурации, и сообщать о состоянии в службу конфигурации компьютера. Виртуальная машина может подключаться по исходящему протоколу HTTPS через TCP-порт 443 или через частную сеть.
Дополнительные сведения о частных сетях см. в следующих статьях.
- Настройка компьютера с автоматическим управление Azure, обмен данными через Приватный канал Azure
- Использование частных конечных точек для службы хранилища Azure
Установка расширения
Вы можете установить и развернуть расширение конфигурации компьютера непосредственно из Azure CLI или PowerShell. Шаблоны развертывания также доступны для Azure Resource Manager (ARM), Bicep и Terraform. Сведения о шаблоне развертывания см. в статье Microsoft.GuestConfiguration guestConfigurationAssignments.
Примечание
В следующих примерах развертывания замените <placeholder>
значения параметров конкретными значениями для вашей конфигурации.
Рекомендации по развертыванию
Перед установкой и развертыванием расширения конфигурации компьютера ознакомьтесь со следующими рекомендациями.
Имя экземпляра. При установке расширения конфигурации компьютера имя экземпляра расширения должно иметь значение
AzurePolicyforWindows
илиAzurePolicyforLinux
. Для описанных выше политик определения базовых показателей безопасности требуются эти конкретные строки.Версии. По умолчанию все развертывания обновляются до последней версии. Значение свойства по умолчанию
autoUpgradeMinorVersion
равно ,true
если не указано иное. Эта функция помогает устранить проблемы, связанные с обновлением кода при выпуске новых версий расширения конфигурации компьютера.Автоматическое обновление. Расширение конфигурации компьютера поддерживает
enableAutomaticUpgrade
свойство . Если для этого свойства задано значениеtrue
, Azure автоматически обновляется до последней версии расширения по мере выпуска будущих выпусков. Дополнительные сведения см. в статье Автоматическое обновление расширений для виртуальных машин и Масштабируемые наборы виртуальных машин в Azure.Политика Azure. Чтобы развернуть последнюю версию расширения конфигурации компьютера в большом масштабе, включая требования к удостоверениям, выполните действия, описанные в разделе Создание назначения политики для определения несоответствующих ресурсов. Создайте следующее назначение с Политика Azure:
Другие свойства. Вам не нужно включать какие-либо параметры или свойства защищенных параметров в расширение конфигурации компьютера. Агент извлекает этот класс сведений из ресурсов назначения гостевой конфигурации REST API Azure. Например,
ConfigurationUri
свойства ,Mode
иConfigurationSetting
управляются для каждой конфигурации, а не в расширении виртуальной машины.
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"
}
Сообщения об ошибках
В следующей таблице перечислены возможные сообщения об ошибках, связанные с включением расширения гостевой конфигурации.
Код ошибки | Описание |
---|---|
NoComplianceReport | Виртуальная машина не сообщила данные о соответствии. |
GCExtensionMissing | Отсутствует расширение конфигурации компьютера (гостевой конфигурации). |
ManagedIdentityMissing | Отсутствует управляемое удостоверение. |
UserIdentityMissing | Отсутствует назначаемое пользователем удостоверение. |
GCExtensionManagedIdentityMissing | Отсутствуют расширение конфигурации компьютера (гостевая конфигурация) и управляемое удостоверение. |
GCExtensionUserIdentityMissing | Отсутствуют расширение конфигурации компьютера (гостевая конфигурация) и удостоверение, назначаемое пользователем. |
GCExtensionIdentityMissing | Отсутствуют расширение конфигурации компьютера (гостевой конфигурации), управляемое удостоверение и удостоверение, назначаемое пользователем. |
Дальнейшие действия
- Дополнительные сведения о расширении конфигурации компьютера см. в статье Общие сведения о функции конфигурации компьютера в службе автоматического управления Azure.
- Дополнительные сведения о работе агента и расширений Linux см. в статье Расширения и компоненты виртуальных машин для Linux.
- Дополнительные сведения о работе гостевого агента и расширений Windows см. в статье Расширения и компоненты виртуальных машин для Windows.
- Сведения об установке гостевого агента Windows см. в статье Общие сведения об агенте виртуальной машины Azure.
- Сведения об установке агента Linux см. в статье Общие сведения об использовании агента Linux для Azure.