Расширение конфигурации компьютера Azure
Расширение конфигурации компьютера выполняет операции аудита и конфигурации на виртуальных машинах.
Чтобы проверить политики на виртуальных машинах, таких как определения базовых показателей безопасности вычислений Azure для Linux и Windows, необходимо установить расширение конфигурации компьютера.
Необходимые компоненты
Чтобы включить проверку подлинности виртуальной машины в службе конфигурации компьютера, виртуальная машина должна иметь управляемое удостоверение, назначаемое системой. Вы можете удовлетворить требование удостоверения для виртуальной машины, задав "type": "SystemAssigned"
свойство:
"identity": {
"type": "SystemAssigned"
}
Операционные системы
Поддержка операционной системы расширения конфигурации компьютера совпадает с документацией по поддержке операционной системы для комплексного решения.
Подключение к Интернету
Агент, установленный расширением конфигурации компьютера, должен иметь возможность получить доступ к пакетам содержимого, перечисленным в назначениях гостевой конфигурации, и сообщить о состоянии в службу конфигурации компьютера. Виртуальная машина может подключаться с помощью исходящего HTTPS через TCP-порт 443 или подключение, предоставленное через частные сети.
Дополнительные сведения о частных сетях см. в следующих статьях.
- Настройка Azure Mchine, обмен данными по Приватный канал 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"
}
Сообщения об ошибках
В следующей таблице перечислены возможные сообщения об ошибках, связанные с включением расширения гостевой конфигурации.
Код ошибки | Description |
---|---|
NoComplianceReport | Виртуальная машина не сообщила о данных о соответствии. |
GCExtensionMissing | Отсутствует расширение конфигурации компьютера (гостевая конфигурация). |
ManagedIdentityMissing | Управляемое удостоверение отсутствует. |
UserIdentityMissing | Удостоверение, назначаемое пользователем, отсутствует. |
GCExtensionManagedIdentityMissing | Отсутствует расширение конфигурации компьютера (гостевая конфигурация) и управляемое удостоверение. |
GCExtensionUserIdentityMissing | Отсутствует расширение конфигурации компьютера (гостевая конфигурация) и удостоверение, назначаемое пользователем. |
GCExtensionIdentityMissing | Отсутствует расширение конфигурации компьютера (гостевая конфигурация), управляемое удостоверение и назначаемое пользователем удостоверение. |
Следующие шаги
- Дополнительные сведения о расширении конфигурации компьютера см. в статье "Общие сведения о конфигурации компьютера Azure".
- Дополнительные сведения о работе агента Linux и расширений см. в статье о расширениях и функциях виртуальных машин для Linux.
- Дополнительные сведения о работе гостевого агента и расширений Windows см. в статье о расширениях и функциях виртуальных машин для Windows.
- Чтобы установить гостевой агент Windows, ознакомьтесь с общими сведениями об агенте виртуальной машины Azure.
- Сведения об установке агента Linux см. в статье "Общие сведения и использование агента Linux Azure".