Noções básicas sobre a configuração de máquina do Azure

Cuidado

Este artigo faz referência ao CentOS, uma distribuição Linux que está em status de fim do serviço (EOL). Considere seu uso e planejamento adequadamente. Para obter mais informações, confira as Diretrizes de Fim do Suporte do CentOS.

O recurso de configuração de máquina do Azure Policy fornece recursos nativos para auditar ou definir configurações do sistema operacional como código, para máquinas em execução no Azure quanto em máquinas híbridas habilitadas para Arc. Você pode usar o recurso diretamente por computador ou orquestrá-lo em escala usando o 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 máquina usa 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."

Você pode exibir os resultados por configuração de configurações na página Atribuições de convidado. Se uma atribuição de Azure Policy orquestrada a configuração for orquestrada, você poderá selecionar o link "Último recurso avaliado" na página "Detalhes da conformidade".

Modos de Imposição para Políticas Personalizadas

Para oferecer maior flexibilidade na imposição e monitoramento das configurações do servidor, aplicativos e cargas de trabalho, a Configuração de Máquina oferece três modos principais de imposição para cada atribuição de política, conforme descrito na tabela a seguir.

Mode Descrição
Audit Relatar apenas o estado do computador
Aplicar e Monitorar Configuração aplicada ao computador e depois monitorada para alterações
Aplicação e Correção Automática Configuração aplicada ao computador e trazida de volta à conformidade em caso de descompasso

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

Habilitar a configuração do computador

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 máquina, você precisa registrar o provedor de recursos Microsoft.GuestConfiguration. Se a atribuição de uma política de configuração de máquina 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 as atribuições de configuração de máquina 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 máquina. 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 máquina 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, consulte Configurar identidades gerenciadas para recursos do Azure em uma VM usando o portal do Azure.

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

Importante

A criação de uma identidade gerenciada ou atribuição de uma política com a função "Colaborador de Recurso de Configuração de Convidado" são ações que exigem as permissões adequadas de RBAC do Azure para serem executadas. Para saber mais sobre o Azure Policy e o RBAC do Azure, confira controle de acesso baseado em função no Azure Policy.

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 máquina 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 máquina no agente do Computador Conectado pelo Arc.

Ferramentas de validação

No computador, o cliente de configuração de máquina 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 máquina gerencia o carregamento dessas ferramentas automaticamente.

Sistema operacional Ferramenta de validação Observações
Windows Desired State Configuration do PowerShell v2 Transmitido por sideload a uma pasta usada apenas pelo Azure Policy. Não entra em conflito com a DSC do Windows PowerShell. O PowerShell 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 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. Ele instala as dependências do InSpec, incluindo Ruby e Python, também.

Frequência de validação

O agente de configuração de máquina 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 pode ser executada até que a configuração anterior seja concluída.

Os resultados são enviados ao serviço de configuração de máquina 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 de máquina. 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 máquina. 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 máquina 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. Além disso, as versões do servidor Linux que estão fora do tempo de vida de suporte por seus respectivos editores são excluídas da matriz de suporte.

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
Alma AlmaLinux 9
Amazon Linux 2
Canônico Ubuntu Server 16.04 – 22.x
Credativ Debian 10.x - 12.x
Microsoft CBL-Mariner 1 - 2
Microsoft Windows Client Windows 10, 11
Microsoft Windows Server 2012 - 2022
Oracle Oracle-Linux 7.x - 8.x
OpenLogic CentOS 7.3 - 8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 9.x
Rocky Rocky Linux 8
SUSE SLES 12 SP5, 15.x

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

As definições de política de configuração de máquina dão suporte a imagens de máquina virtual personalizadas, desde que sejam um dos sistemas operacionais na tabela anterior. A Configuração de Máquina não dá suporte para VMSS uniforme, mas dá suporte para VMSS Flex.

Requisitos de rede

As máquinas virtuais no Azure podem usar o vNIC (adaptador de rede virtual local) ou um Link Privado do Azure para se comunicarem com o serviço de configuração de máquina.

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

Veja a seguir uma lista dos pontos de extremidade do Armazenamento do Azure necessários para que as máquinas virtuais habilitadas para Azure e Azure Arc se comuniquem com o provedor de recursos de configuração de máquina no Azure:

  • oaasguestconfigac2s1.blob.core.windows.net
  • oaasguestconfigacs1.blob.core.windows.net
  • oaasguestconfigaes1.blob.core.windows.net
  • oaasguestconfigases1.blob.core.windows.net
  • oaasguestconfigbrses1.blob.core.windows.net
  • oaasguestconfigbrss1.blob.core.windows.net
  • oaasguestconfigccs1.blob.core.windows.net
  • oaasguestconfigces1.blob.core.windows.net
  • oaasguestconfigcids1.blob.core.windows.net
  • oaasguestconfigcuss1.blob.core.windows.net
  • oaasguestconfigeaps1.blob.core.windows.net
  • oaasguestconfigeas1.blob.core.windows.net
  • oaasguestconfigeus2s1.blob.core.windows.net
  • oaasguestconfigeuss1.blob.core.windows.net
  • oaasguestconfigfcs1.blob.core.windows.net
  • oaasguestconfigfss1.blob.core.windows.net
  • oaasguestconfiggewcs1.blob.core.windows.net
  • oaasguestconfiggns1.blob.core.windows.net
  • oaasguestconfiggwcs1.blob.core.windows.net
  • oaasguestconfigjiws1.blob.core.windows.net
  • oaasguestconfigjpes1.blob.core.windows.net
  • oaasguestconfigjpws1.blob.core.windows.net
  • oaasguestconfigkcs1.blob.core.windows.net
  • oaasguestconfigkss1.blob.core.windows.net
  • oaasguestconfigncuss1.blob.core.windows.net
  • oaasguestconfignes1.blob.core.windows.net
  • oaasguestconfignres1.blob.core.windows.net
  • oaasguestconfignrws1.blob.core.windows.net
  • oaasguestconfigqacs1.blob.core.windows.net
  • oaasguestconfigsans1.blob.core.windows.net
  • oaasguestconfigscuss1.blob.core.windows.net
  • oaasguestconfigseas1.blob.core.windows.net
  • oaasguestconfigsecs1.blob.core.windows.net
  • oaasguestconfigsfns1.blob.core.windows.net
  • oaasguestconfigsfws1.blob.core.windows.net
  • oaasguestconfigsids1.blob.core.windows.net
  • oaasguestconfigstzns1.blob.core.windows.net
  • oaasguestconfigswcs1.blob.core.windows.net
  • oaasguestconfigswns1.blob.core.windows.net
  • oaasguestconfigswss1.blob.core.windows.net
  • oaasguestconfigswws1.blob.core.windows.net
  • oaasguestconfiguaecs1.blob.core.windows.net
  • oaasguestconfiguaens1.blob.core.windows.net
  • oaasguestconfigukss1.blob.core.windows.net
  • oaasguestconfigukws1.blob.core.windows.net
  • oaasguestconfigwcuss1.blob.core.windows.net
  • oaasguestconfigwes1.blob.core.windows.net
  • oaasguestconfigwids1.blob.core.windows.net
  • oaasguestconfigwus2s1.blob.core.windows.net
  • oaasguestconfigwus3s1.blob.core.windows.net
  • oaasguestconfigwuss1.blob.core.windows.net

Comunicação por meio de redes virtuais no Azure

Para se comunicar com o provedor de recursos de configuração de máquina 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çoAzureArcInfrastructure 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. As duas marcas são necessárias porque o Armazenamento do Azure hospeda os pacotes de conteúdo de configuração do computador.

As máquinas virtuais podem usar o link privado para comunicação com o serviço de configuração de máquina. 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 máquina serem aplicadas ao computador.

Importante

Para se comunicar por link privado para pacotes personalizados, o link para o local do pacote deve ser adicionado à lista de URLs permitidas.

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.

Comunicar-se por pontos de extremidade públicos fora do Azure

Os servidores localizados localmente ou em outras nuvens podem ser gerenciados com a configuração do computador conectando-os ao Azure Arc.

Para servidores habilitados para Azure Arc, 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

Consulte os Requisitos de rede de servidores habilitados para Azure Arc para obter uma lista completa de todos os pontos de extremidade de rede exigidos pelo Azure Connected Machine Agent para os principais cenários de configuração do Azure Arc e do computador.

Ao usar o link privado com servidores habilitados para Arc, os pacotes de políticas internos são baixados automaticamente pelo link privado. Você não precisa definir nenhuma marca no servidor habilitado para Arc para habilitar esse recurso.

Atribuindo políticas a computadores fora do Azure

As definições de política de auditoria disponíveis para a configuração de máquina incluem o tipo de recurso Microsoft.HybridCompute/machines. Todos os computadores integrados ao Azure Arc habilitado 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 Deploy prerequisites to enable guest configuration policies on virtual machines 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, você pode visualizar relatórios de atribuição de convidados se pelo menos uma região emparelhada estiver disponível. Quando a região do Azure não está emparelhada e fica indisponível, você não pode acessar relatórios para uma atribuição de convidado. Quando a região é restaurada, você pode acessar os relatórios novamente.

É recomendável atribuir as mesmas definições de política com os mesmos parâmetros a todos os computadores na solução para aplicativos altamente disponíveis. Isso é especialmente verdadeiro para cenários em que as máquinas virtuais são provisionadas em Conjuntos de Disponibilidade por trás de uma solução de balanceador de carga. Uma única atribuição de política abrangendo todas as máquinas tem a menor sobrecarga administrativa.

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

Residência de dadosResidência de dados

A configuração do computador armazena e 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 de configuração do computador

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

Atribuições múltiplas

Neste momento, apenas algumas definições da política de configuração de máquina interna suporta várias atribuições. No entanto, todas as políticas personalizadas suportam várias atribuições por padrão se você usou a versão mais recente do módulo GuestConfiguration do PowerShell para criar pacotes e políticas de configuração de máquina.

A seguir está a lista de definições da política de configuração de máquina interna que suporta várias atribuições:

ID DisplayName
/providers/Microsoft.Authorization/policyDefinitions/5fe81c49-16b6-4870-9cee-45d13bf902ce Os métodos de autenticação local devem ser desativados nos servidores Windows
/providers/Microsoft.Authorization/policyDefinitions/fad40cac-a972-4db0-b204-f1b15cced89a Os métodos de autenticação local devem ser desativados em máquinas Linux
/providers/Microsoft.Authorization/policyDefinitions/f40c7c00-b4e3-4068-a315-5fe81347a904 [Versão prévia]: adicionar identidade gerenciada atribuída pelo usuário para habilitar atribuições de Configuração de Convidado em máquinas virtuais
/providers/Microsoft.Authorization/policyDefinitions/63594bb8-43bb-4bf0-bbf8-c67e5c28cb65 [Versão prévia]: os computadores Linux devem atender aos requisitos de conformidade do STIG para a computação do Azure
/providers/Microsoft.Authorization/policyDefinitions/50c52fc9-cb21-4d99-9031-d6a0c613361c [Versão prévia]: os computadores Windows devem atender aos requisitos de conformidade do STIG para computação do Azure
/providers/Microsoft.Authorization/policyDefinitions/e79ffbda-ff85-465d-ab8e-7e58a557660f [Versão prévia]: computadores do Linux com OMI instalado devem ter a versão 1.6.8-1 ou posterior
/providers/Microsoft.Authorization/policyDefinitions/934345e1-4dfb-4c70-90d7-41990dc9608b Auditar os computadores Windows que não contêm os certificados especificados na Raiz Confiável
/providers/Microsoft.Authorization/policyDefinitions/08a2f2d2-94b2-4a7b-aa3b-bb3f523ee6fd Auditar computadores Windows nos quais a configuração DSC não está em conformidade
/providers/Microsoft.Authorization/policyDefinitions/c648fbbb-591c-4acd-b465-ce9b176ca173 Faça auditoria dos computadores Windows que não têm a política de execução do Windows PowerShell especificada
/providers/Microsoft.Authorization/policyDefinitions/3e4e2bd5-15a2-4628-b3e1-58977e9793f3 Faça auditoria dos computadores Windows que não têm os módulos do Windows PowerShell especificados instalados
/providers/Microsoft.Authorization/policyDefinitions/58c460e9-7573-4bb2-9676-339c2f2486bb Auditar computadores Windows nos quais o Console Serial do Windows não está habilitado
/providers/Microsoft.Authorization/policyDefinitions/e6ebf138-3d71-4935-a13b-9c7fdddd94df Auditar computadores Windows nos quais os serviços especificados não estão instalados e 'Em execução'
/providers/Microsoft.Authorization/policyDefinitions/c633f6a2-7f8b-4d9e-9456-02f0f04f5505 Auditar os computadores Windows que não estão definidos para o fuso horário especificado

Observação

Verifique esta página periodicamente para obter as atualizações da lista de definições da política de configuração de máquina interna que suporta várias atribuições.

Atribuições a grupos de gerenciamento do Azure

As definições do Azure Policy na categoria Guest Configuration podem ser atribuídas a grupos de gerenciamento quando o efeito for AuditIfNotExists ou DeployIfNotExists.

Arquivos de log do cliente

A extensão de configuração de máquina 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 configurações ou módulos de computador deve ser usar os cmdlets seguindo os passos em Como testar os artefatos de pacote de configuração de computador. 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
$params = @{
    Path = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
    Pattern = @(
        'DSCEngine'
        'DSCManagedEngine'
    )
    CaseSensitive = $true
    Context = @(
        $linesToIncludeBeforeMatch
        $linesToIncludeAfterMatch
    )
}
Select-String @params | 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.

LINES_TO_INCLUDE_BEFORE_MATCH=0
LINES_TO_INCLUDE_AFTER_MATCH=10
LOGPATH=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $LINES_TO_INCLUDE_BEFORE_MATCH -A $LINES_TO_INCLUDE_AFTER_MATCH 'DSCEngine|DSCManagedEngine' $LOGPATH | tail

Arquivos do agente

O agente de configuração de máquina 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 na lista abaixo.

  • Windows: C:\ProgramData\guestconfig\configuration
  • Linux: /var/lib/GuestConfig/Configuration

Funcionalidade do módulo nxtools de software livre

Um novo módulo nxtools de software livre foi lançado para ajudar a facilitar o gerenciamento de sistemas Linux para usuários do PowerShell.

O módulo ajuda no gerenciamento de tarefas comuns, como:

  • Gerenciar usuários e grupos
  • Executar operações do sistema de arquivos
  • Gerenciando serviços
  • Executar operações de arquivo morto
  • Como gerenciar pacotes

O módulo inclui recursos de DSC baseados em classe para Linux e pacotes internos de configuração de máquina.

Para fornecer comentários sobre essa funcionalidade, abra um problema na documentação. Atualmente , não aceitamos PRs para este projeto e o suporte é o melhor esforço.

Exemplos de configuração do computador

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

Próximas etapas