Entender o recurso de configuração de convidado do Azure Policy

O recurso de configuração de convidado do Azure Policy fornece recursos nativos para auditar ou definir configurações do sistema operacional como código, tanto para máquinas em execução no Azure quanto em máquinas híbridas habilitadas para Arc. O recurso pode ser usado diretamente por computador, ou em escala orquestrado pelo Azure Policy.

Os recursos de configuração no Azure são projetados como um recurso de extensão. Você pode imaginar cada configuração como um conjunto adicional de propriedades para o computador. As configurações podem incluir configurações como:

  • Configurações do sistema operacional
  • Configuração ou presença do aplicativo
  • Configurações do ambiente

As configurações são diferentes das definições de política. A configuração de convidado utiliza o Azure Policy para atribuir configurações dinamicamente aos computadores. Também é possível atribuir configurações a computadores manualmente, ou utilizando-se outros serviços do Azure como o AutoManage.

Exemplos de cada cenário são fornecidos na tabela a seguir.

Tipo Descrição Exemplo de história
Gerenciamento da configuração Você deseja uma representação completa de um servidor, como código no controle do código-fonte. A implantação deve incluir propriedades do servidor (tamanho, rede, armazenamento) e configurações do sistema operacional e de aplicativo. "Esse computador deve ser um servidor Web configurado para hospedar meu site".
Conformidade Você deseja auditar ou implantar configurações em todos os computadores do escopo, seja de maneira reativa nas máquinas existentes ou de maneira proativa nas novas máquinas, à medida que eles forem implantados. "Todos os computadores devem usar o TLS 1.2. Audite os computadores existentes para que eu possa liberar a alteração onde for necessário, de maneira controlada, em escala. Para os novos computadores, imponha a configuração quando eles forem implantados".

Os resultados por definição de cada configuração podem ser exibidos na página Atribuições de convidados ou se a configuração for orquestrada por uma atribuição do Azure Policy, clicando no link "Último recurso avaliado" na página "Detalhes de conformidade".

Um passo a passo em vídeo sobre este documento está disponível. (atualização em breve)

Habilitar a configuração de convidado

Para gerenciar o estado dos computadores em seu ambiente, incluindo computadores no Azure e em servidores habilitados para o Arc, examine os detalhes a seguir.

Provedor de recursos

Antes de usar o recurso do Azure Policy de configuração de convidado, você precisa registrar o provedor de recursos Microsoft.GuestConfiguration. Se a atribuição de uma política de configuração de convidado for feita por meio do portal ou se a assinatura estiver inscrita no Microsoft Defender para Nuvem, o provedor de recursos será registrado automaticamente. Você pode registrar manualmente por meio do portal, do Azure PowerShell ou da CLI do Azure.

Requisitos de implantação das máquinas virtuais do Azure

Para gerenciar as configurações de um computador, uma extensão de máquina virtual é habilitada e o computador precisa ter uma identidade gerenciada pelo sistema. A extensão baixa a atribuição de configuração de convidado aplicável e as dependências correspondentes. A identidade é usada para autenticar o computador conforme ele lê e grava no serviço de configuração de convidado. A extensão não é necessária para servidores habilitados para o Arc porque está incluída no agente do Computador Conectado ao Arc.

Importante

A extensão de configuração de convidado e uma identidade gerenciada são necessárias para gerenciar as máquinas virtuais do Azure.

Para implantar a extensão em escala em vários computadores, atribua a iniciativa de política Deploy prerequisites to enable guest configuration policies on virtual machines a um grupo de gerenciamento, a uma assinatura ou a um grupo de recursos que contenham os computadores que você planeja gerenciar.

Se você preferir implantar a extensão e a identidade gerenciada em um único computador, siga as diretrizes para cada um:

Para usar os pacotes de configuração de convidado que aplicam configurações, é necessária a extensão de configuração de convidado da VM do Azure versão 1.29.24 ou posterior.

Limites definidos na extensão

Para limitar a extensão de afetar os aplicativos em execução dentro do computador, o agente de configuração de convidado não tem permissão para exceder mais de 5% da CPU. Essa limitação existe para as definições internas e personalizadas. O mesmo é verdadeiro para o serviço de configuração de convidado no agente do Computador Conectado pelo Arc.

Ferramentas de validação

No computador, o cliente de configuração de convidado usa ferramentas locais para realizar tarefas.

A tabela a seguir mostra uma lista das ferramentas locais usadas em cada sistema operacional com suporte. Para conteúdo interno, a configuração de convidado gerencia o carregamento dessas ferramentas automaticamente.

Sistema operacional Ferramenta de validação Observações
Windows Desired State Configuration do PowerShell v3 Transmitido por sideload a uma pasta usada apenas pelo Azure Policy. Não entra em conflito com a DSC do Windows PowerShell. O PowerShell Core não é adicionado ao caminho do sistema.
Linux Desired State Configuration do PowerShell v3 Transmitido por sideload a uma pasta usada apenas pelo Azure Policy. O PowerShell Core não é adicionado ao caminho do sistema.
Linux Chef InSpec Instala o Chef InSpec versão 2.2.61 na localização padrão e adiciona-o ao caminho do sistema. As dependências do pacote InSpec, incluindo Ruby e Python, também são instaladas.

Frequência de validação

O agente de configuração de convidado verifica se há atribuições de convidado novas ou alteradas a cada cinco minutos. Depois que uma atribuição de convidado for recebida, as definições para essa configuração serão verificadas repetidamente em um intervalo de 15 minutos. Se houver várias configurações atribuídas, cada uma será avaliada sequencialmente. As configurações de execução longa afetam o intervalo de todas as configurações, pois a próxima não será executada até que a configuração anterior seja concluída.

Os resultados são enviados ao serviço de configuração de convidado quando a auditoria é concluída. Quando ocorre um gatilho de avaliação de política, o estado do computador é gravado no provedor de recursos de configuração do convidado. Essa atualização faz com que o Azure Policy avalie as propriedades do Azure Resource Manager. Uma avaliação do Azure Policy sob demanda recupera o valor mais recente do provedor de recursos de configuração de convidado. No entanto, ela não dispara uma nova atividade dentro do computador. O status é, em seguida, gravado no Azure Resource Graph.

Tipos de clientes com suporte

As definições de políticas de configuração de convidado incluem novas versões. As versões mais antigas dos sistemas operacionais disponíveis no Azure Marketplace serão excluídas se o cliente de Configuração de Convidado não for compatível. A tabela a seguir mostra uma lista de sistemas operacionais compatíveis em imagens do Azure. O texto ".x" é simbólico para representar novas versões secundárias de distribuições do Linux.

Publicador Nome Versões
Amazon Linux 2
Canônico Ubuntu Server 14.04 - 20.x
Credativ Debian 8 - 10.x
Microsoft Windows Server 2012 - 2022
Microsoft Windows Client Windows 10
Oracle Oracle-Linux 7.x-8.x
OpenLogic CentOS 7.3 -8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 8.x
SUSE SLES 12 SP3-SP5, 15.x

* O Red Hat CoreOS não é compatível.

As imagens de máquina virtual personalizadas são compatíveis com as definições de políticas de configuração de convidado, desde que elas usem um dos sistemas operacionais na tabela acima.

Requisitos de rede

As máquinas virtuais no Azure podem usar o adaptador de rede local ou um link privado para se comunicarem com o serviço de configuração de convidado.

Os computadores do Azure Arc se conectam usando a infraestrutura de rede local para acessar os serviços do Azure e relatar o status de conformidade.

Comunicação por meio de redes virtuais no Azure

Para se comunicar com o provedor de recursos de configuração de convidado no Azure, as máquinas virtuais exigem acesso de saída aos datacenters do Azure na porta 443. Se uma rede no Azure não permitir tráfego de saída, configure exceções com regras de grupo de segurança de rede. As marcas de serviço “AzureArcInfrastructure” e “Storage” podem ser usadas para referenciar o serviço de configuração de convidado e de Armazenamento em vez de manter manualmente a lista de intervalos de IP para datacenters do Azure. Ambas as marcas são necessárias porque os pacotes de conteúdo de configuração de convidado são hospedados pelo Armazenamento do Microsoft Azure.

As máquinas virtuais podem usar o link privado para comunicação com o serviço de configuração de convidado. Aplique a marca com o nome EnablePrivateNetworkGC e o valor TRUE para habilitar esse recurso. A marca pode ser aplicada antes ou após as definições de política de configuração de convidado serem aplicadas ao computador.

O tráfego é roteado usando o endereço IP público virtual do Azure para estabelecer um canal seguro e autenticado com os recursos da plataforma do Azure.

Servidores habilitados para Azure Arc

Os nós localizados fora do Azure que são conectados pelo Azure Arc exigem conectividade com o serviço de configuração de convidado. Detalhes sobre os requisitos de rede e proxy fornecidos na documentação do Azure Arc.

Para servidores habilitados para o Arc em datacenters privados, permita o tráfego usando os seguintes padrões:

  • Porta: Somente a TCP 443 é necessária para acesso à Internet de saída
  • URL global: *.guestconfiguration.azure.com

Atribuindo políticas a computadores fora do Azure

As definições de política de auditoria disponíveis para a configuração de convidado incluem o tipo de recurso Microsoft.HybridCompute/machines. Todos os computadores integrados ao Azure Arc para servidores que estão no escopo da atribuição de política são incluídos automaticamente.

Requisitos de identidade gerenciada

As definições de política na iniciativa Implantar pré-requisitos para habilitar políticas de configuração de convidado em máquinas virtuais habilitam uma identidade gerenciada atribuída pelo sistema, caso não exista uma. Há duas definições de política na iniciativa que gerenciam a criação de identidade. As condições IF nas definições de política garantem o comportamento correto com base no estado atual do recurso de computador no Azure.

Importante

Essas definições criam uma identidade gerenciada atribuída pelo sistema nos recursos de destino, além das identidades atribuídas pelo usuário existentes (se houver). Para os aplicativos existentes, a menos que especifiquem a identidade atribuída pelo usuário na solicitação, o computador assumirá como padrão o uso da identidade atribuída pelo sistema. Saiba mais

Se o computador não tiver nenhuma identidade gerenciada no momento, a política efetiva será: Adicionar identidade gerenciada atribuída pelo sistema para habilitar atribuições de configuração de convidado em máquinas virtuais sem identidades

Se o computador tiver atualmente uma identidade de sistema atribuída pelo usuário, a política efetiva será: Adicionar identidade gerenciada atribuída pelo sistema para habilitar atribuições de configuração de convidado em VMs com uma identidade atribuída pelo usuário

Disponibilidade

Os clientes que projetam uma solução altamente disponível devem considerar os requisitos de planejamento de redundância para máquinas virtuais, pois as atribuições de convidado são extensões de recursos de máquina no Azure. Quando os recursos de atribuição de convidado são provisionados em uma região do Azure emparelhada, desde que pelo menos uma região no par esteja disponível, os relatórios de atribuição de convidado estão disponíveis. Se a região do Azure não estiver emparelhada e ficar indisponível, não será possível acessar relatórios para uma atribuição de convidado até que a região seja restaurada.

Ao considerar uma arquitetura para aplicativos altamente disponíveis, especialmente onde as máquinas virtuais são provisionadas em Conjuntos de Disponibilidade por trás de uma solução de balanceador de carga para fornecer alta disponibilidade, é recomendável atribuir as mesmas definições de política com os mesmos parâmetros a todos os máquinas na solução. Se possível, uma única atribuição de política abrangendo todas as máquinas ofereceria a menor sobrecarga administrativa.

Para máquinas protegidas pelo Azure Site Recovery, verifique se as máquinas em um site secundário estão dentro do escopo das atribuições do Azure Policy para as mesmas definições usando os mesmos valores de parâmetro que as máquinas no site primário.

Residência de dadosResidência de dados

A configuração de convidado armazena/processa dados do cliente. Por padrão, os dados do cliente são replicados para a região emparelhada. Para Singapura, Sul do Brasil e Leste da Ásia, todos os dados do cliente são armazenados e processados na região.

Solução de problemas da configuração de convidado

Para obter mais informações sobre como solucionar problemas de configuração de convidado, confira Solução de problemas do Azure Policy.

Atribuições múltiplas

Atualmente, as políticas de configuração de convidado só são compatíveis com a realização da mesma atribuição de convidado uma vez por computador, quando a atribuição de política usa parâmetros diferentes.

Atribuições para os Grupos de Gerenciamento do Azure

As definições do Azure Policy na categoria “Configuração de Convidado” podem ser atribuídas a Grupos de Gerenciamento somente quando o efeito for “AuditIfNotExists”. Não há suporte para definições do Azure Policy com efeito “DeployIfNotExists” como atribuições para Grupos de Gerenciamento.

Arquivos de log do cliente

A extensão de configuração de convidado grava arquivos de log nos seguintes locais:

Windows

  • VM do Azure: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Servidores habilitados para o Arc: C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • VM do Azure: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Servidores habilitados para o Arc: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Coletando logs remotamente

A primeira etapa na solução de problemas de definições ou módulos da configuração de convidado deve ser usar os cmdlets seguindo os passos em Como testar os artefatos de pacote de configuração de convidado. Se isso não for bem-sucedido, a coleta dos logs do cliente poderá ajudar a diagnosticar problemas.

Windows

Capture informações de arquivos de log usando o comando de execução de VM do Azure. O exemplo de script do PowerShell a seguir pode ser útil.

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch = 10
$logPath = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
Select-String -Path $logPath -pattern 'DSCEngine','DSCManagedEngine' -CaseSensitive -Context $linesToIncludeBeforeMatch,$linesToIncludeAfterMatch | Select-Object -Last 10

Linux

Capture informações de arquivos de log usando o comando de execução de VM do Azure. O exemplo de script Bash a seguir pode ser útil.

linesToIncludeBeforeMatch=0
linesToIncludeAfterMatch=10
logPath=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $linesToIncludeBeforeMatch -A $linesToIncludeAfterMatch 'DSCEngine|DSCManagedEngine' $logPath | tail

Arquivos do agente

O agente de configuração de convidado baixa pacotes de conteúdo em um computador e extrai o conteúdo. Para verificar qual conteúdo foi baixado e armazenado, veja as localizações da pasta fornecidas abaixo.

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

Exemplos de configuração de convidado

Os exemplos de política interna de configuração de convidado estão disponíveis nos seguintes locais:

Próximas etapas