Общие сведения о ресурсах назначения гостевой конфигурации

При назначении политики Azure, если она находится в категории "Гостевая конфигурация", активируются метаданные для описания назначения гостя.

Доступен пошаговый видеопросмотр этого документа.

Гостевое назначение можно рассматривать как связь между компьютером и сценарием политики Azure. Например, приведенный ниже фрагмент кода связывает базовую конфигурацию Windows Azure, имеющую минимальную версию 1.0.0, со всеми компьютерами в области политики.

"metadata": {
    "category": "Guest Configuration",
    "guestConfiguration": {
        "name": "AzureWindowsBaseline",
        "version": "1.*"
    }
//additional metadata properties exist

Как политика Azure использует назначения гостевой конфигурации

Информация метаданных используется службой конфигурации гостя для автоматического создания ресурса аудита для определений с эффектами политики AuditIfNotExists или DeployIfNotExists. В качестве типа ресурса используйте Microsoft.GuestConfiguration/guestConfigurationAssignments. Политика Azure использует свойство complianceStatus ресурса назначения гостя для сообщения о состоянии соответствия. Дополнительные сведения см. в руководстве по получению данных соответствия.

Удаление гостевых назначений из политики Azure

При удалении назначения Политики Azure, если политикой было создано назначение гостевой конфигурации, назначение гостевой конфигурации также удаляется.

Создание назначений гостевой конфигурации вручную

Ресурсы назначения гостей в Azure Resource Manager могут быть созданы политикой Azure или любым клиентским пакетом SDK.

Пример шаблона развертывания:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "apiVersion": "2021-01-25",
      "type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
      "name": "myMachine/Microsoft.GuestConfiguration/myConfig",
      "location": "westus2",
      "properties": {
        "guestConfiguration": {
          "name": "myConfig",
          "contentUri": "https://mystorageaccount.blob.core.windows.net/mystoragecontainer/myConfig.zip?sv=SASTOKEN",
          "contentHash": "SHA256HASH",
          "version": "1.0.0",
          "assignmentType": "ApplyAndMonitor",
          "configurationParameter": {}
        }
      }
    }    
  ]
}

В нижеприведенной таблице описано каждое свойство ресурсов гостевого назначения.

Свойство Описание
name Имя конфигурации в MOF-файле пакета содержимого.
contentUri Путь URI HTTPS к пакету содержимого (.zip).
contentHash Хэш-значение SHA256 пакета содержимого, используемое с целью проверки того, что оно не изменилось.
version Версия пакета содержимого. Используется только для встроенных пакетов и не используется для пользовательских пакетов содержимого.
assignmentType Алгоритм действий назначения. Допустимые значения: Audit, ApplyandMonitor и ApplyandAutoCorrect.
configurationParameter Список типа ресурса DSC, имени и значения в MOF-файле пакета содержимого, которые должны быть переопределены после его загрузки на компьютер.

Удаление созданных вручную назначений гостевой конфигурации

Назначения гостевой конфигурации, созданные с помощью любого ручного подхода (например, развертывания шаблона Azure Resource Manager), необходимо удалить вручную. Удаление родительского ресурса (виртуальная машина или машина с поддержкой Arc) также удалит назначение гостевой конфигурации.

Чтобы вручную удалить назначение гостевой конфигурации, воспользуйтесь нижеприведенным примером. Обязательно замените все примеры строк, обозначенные скобками "<>".

# First get details about the guest configuration assignment
$resourceDetails = @{
  ResourceGroupName = '<myResourceGroupName>'
  ResourceType      = 'Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments/'
  ResourceName      = '<myVMName>/Microsoft.GuestConfiguration'
  ApiVersion        = '2020-06-25'
}
$guestAssignment = Get-AzResource @resourceDetails

# Review details of the guest configuration assignment
$guestAssignment

# After reviewing properties of $guestAssignment to confirm
$guestAssignment | Remove-AzResource

Дальнейшие действия