Partilhar via


Compreender os recursos de atribuição de configuração da máquina

Quando uma Política do Azure é atribuída, se estiver na categoria Guest Configuration , há metadados incluídos para descrever uma atribuição de convidado.

Está disponível um vídeo passo a passo deste documento.

Você pode pensar em uma atribuição de convidado como um link entre uma máquina e um cenário de Política do Azure. Por exemplo, o trecho a seguir associa a configuração de Linha de Base do Windows do Azure à versão 1.0.0 mínima a qualquer máquina no escopo da política.

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

Como a Política do Azure usa atribuições de configuração de máquina

O serviço de configuração da máquina usa as informações de metadados para criar automaticamente um recurso de auditoria para definições com efeitos de política ou DeployIfNotExists de AuditIfNotExists política. O tipo de recurso é Microsoft.GuestConfiguration/guestConfigurationAssignments. A Política do Azure usa a propriedade complianceStatus do recurso de atribuição de convidado para relatar o status de conformidade. Para obter mais informações, consulte Obter dados de conformidade.

Exclusão de atribuições de convidado da Política do Azure

Quando uma atribuição de Política do Azure é excluída, se a política criou uma atribuição de configuração de máquina, a atribuição de configuração de máquina também é excluída.

Quando uma atribuição de Política do Azure é excluída de uma iniciativa, você precisa excluir manualmente todas as atribuições de configuração de máquina que a política criou. Você pode fazer isso navegando até a página de atribuições de convidado no portal do Azure e excluindo a atribuição lá.

Criação manual de atribuições de configuração da máquina

Você pode criar recursos de atribuição de convidado no Azure Resource Manager usando a Política do Azure ou qualquer SDK de cliente.

Um exemplo de modelo de implantação:

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

A tabela a seguir descreve cada propriedade dos recursos de atribuição de convidado.

Property Descrição
Designação Nome da configuração dentro do arquivo MOF do pacote de conteúdo.
contentUri Caminho de URI HTTPS para o pacote de conteúdo (.zip).
contentHash Um valor de hash SHA256 do pacote de conteúdo, usado para verificar se ele não foi alterado.
Versão Versão do pacote de conteúdo. Usado apenas para pacotes internos e não usado para pacotes de conteúdo personalizados.
Tipo de atribuição Comportamento da atribuição. Valores permitidos: Audit, ApplyandMonitor, e ApplyandAutoCorrect.
configurationParâmetro Lista de tipo, nome e valor de recurso DSC no arquivo MOF do pacote de conteúdo a ser substituído após o download na máquina.

Exclusão de atribuições de configuração de máquina criadas manualmente

Você deve excluir manualmente as atribuições de configuração de máquina criadas por meio de qualquer abordagem manual (como uma implantação de modelo do Azure Resource Manager). A exclusão do recurso pai (máquina virtual ou máquina habilitada para Arc) também exclui a atribuição de configuração da máquina.

Para excluir manualmente uma atribuição de configuração de máquina, use o exemplo a seguir. Certifique-se de substituir todas as cadeias de caracteres de exemplo, indicadas por <> colchetes.

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

# Review details of the machine configuration assignment
$guestAssignment

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

Próximos passos