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

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux com status de Fim de Vida (EOL). Por favor, considere o seu uso e planejamento de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

O recurso de configuração de máquina da Política do Azure fornece capacidade nativa para auditar ou definir configurações do sistema operacional como código para máquinas em execução no Azure e máquinas híbridas habilitadas para Arc. Você pode usar o recurso diretamente por máquina ou orquestrá-lo em escala usando a Política do Azure.

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 extra de propriedades para a máquina. As configurações podem incluir configurações como:

  • Definições do sistema operativo
  • Presença ou configuração da aplicação
  • Definições do ambiente

As configurações são distintas das definições de política. A configuração da máquina usa a Política do Azure para atribuir configurações dinamicamente às máquinas. Você também pode atribuir configurações a máquinas manualmente ou usando outros serviços do Azure, como o Automanage.

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

Tipo Description Exemplo de história
Gestão de 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ção do sistema operacional e configurações do aplicativo. "Esta máquina deve ser um servidor web configurado para hospedar meu site."
Conformidade Você deseja auditar ou implantar configurações em todas as máquinas no escopo, seja reativamente em máquinas existentes ou proativamente em novas máquinas à medida que elas são implantadas. "Todas as máquinas devem usar TLS 1.2. Auditar máquinas existentes para que eu possa liberar mudanças onde elas são necessárias, de forma controlada, em escala. Para máquinas novas, imponha a configuração quando elas forem implantadas."

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

Modos de imposição para políticas personalizadas

Para fornecer maior flexibilidade na imposição e monitoramento de configurações de 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.

Modo Description
Audit Informe apenas sobre o estado da máquina
Aplicar e monitorar Configuração aplicada à máquina e, em seguida, monitorizada para alterações
Aplicar e corrigir automaticamente Configuração aplicada à máquina e reposta em conformidade em caso de desvio

Está disponível um vídeo passo a passo deste documento. (Atualização em breve)

Ativar configuração da máquina

Para gerenciar o estado das máquinas em seu ambiente, incluindo máquinas no Azure e servidores habilitados para Arc, revise os detalhes a seguir.

Fornecedor de recursos

Antes de poder usar o recurso de configuração de máquina da Política do Azure, você deve registrar o Microsoft.GuestConfiguration provedor de recursos. 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 for Cloud, o provedor de recursos será registrado automaticamente. Você pode se registrar manualmente por meio do portal, do Azure PowerShell ou da CLI do Azure.

Implantar requisitos para máquinas virtuais do Azure

Para gerir as definições dentro de um computador, é ativada uma extensão de máquina virtual e o computador tem de ter uma identidade gerida pelo sistema. A extensão baixa as atribuições de configuração de máquina aplicáveis e as dependências correspondentes. A identidade é usada para autenticar a máquina à medida que ela lê e grava no serviço de configuração da máquina. A extensão não é necessária para servidores preparados para o Arc porque está incluída no agente do Computador Ligado ao Arc.

Importante

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

Para implantar a extensão em escala em várias máquinas, atribua a iniciativa de política Deploy prerequisites to enable Guest Configuration policies on virtual machines para um grupo de gerenciamento, assinatura ou grupo de recursos que contém as máquinas que você planeja gerenciar.

Se preferir implantar a extensão e a identidade gerenciada em uma única máquina, consulte Configurar identidades gerenciadas para recursos do Azure em uma VM usando o portal do Azure.

Para usar 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 a atribuição de uma política com a função "Colaborador de Recursos de Configuração de Convidado" são ações que exigem permissões apropriadas do RBAC do Azure para serem executadas. Para saber mais sobre a Política do Azure e o RBAC do Azure, consulte Controle de acesso baseado em função na Política do Azure.

Limites fixados para a extensão

Para limitar o impacto da extensão em aplicativos executados dentro da máquina, o agente de configuração da máquina não pode exceder mais de 5% da CPU. Essa limitação existe para definições internas e personalizadas. O mesmo é verdadeiro para o serviço de configuração da máquina no agente Arc Connected Machine.

Ferramentas de validação

Dentro da máquina, o agente de configuração da máquina usa ferramentas locais para executar tarefas.

A tabela a seguir mostra uma lista das ferramentas locais utilizadas em cada sistema operativo suportado. Para conteúdo integrado, a configuração da máquina lida com o carregamento dessas ferramentas automaticamente.

Sistema operativo Ferramenta de validação Notas
Windows Configuração de Estado Desejado do PowerShell v2 Side-load numa pasta apenas utilizado pelo Azure Policy. Não entra em conflito com o DSC do Windows PowerShell. O PowerShell não é adicionado ao caminho do sistema.
Linux PowerShell Desired State Configuration v3 Side-load numa pasta apenas utilizado pelo Azure Policy. O PowerShell não é adicionado ao caminho do sistema.
Linux Chef InSpec Instala o Chef InSpec versão 2.2.61 no local padrão e o adiciona ao caminho do sistema. Ele também instala as dependências do InSpec, incluindo Ruby e Python.

Frequência de validação

O agente de configuração da máquina verifica se há atribuições de convidado novas ou alteradas a cada 5 minutos. Depois que uma atribuição de convidado é recebida, as configurações dessa configuração são verificadas novamente em um intervalo de 15 minutos. Se várias configurações forem atribuídas, cada uma será avaliada sequencialmente. As configurações de longa execução afetam o intervalo de todas as configurações, porque a próxima não pode ser executada até que a configuração anterior seja concluída.

Os resultados são enviados para o serviço de configuração da máquina quando a auditoria é concluída. Quando ocorre um gatilho de avaliação de política, o estado da máquina é gravado no provedor de recursos de configuração da máquina. Esta atualização faz com que a Política do Azure avalie as propriedades do Azure Resource Manager. Uma avaliação da Política do Azure sob demanda recupera o valor mais recente do provedor de recursos de configuração da máquina. No entanto, ele não aciona uma nova atividade dentro da máquina. Em seguida, o status é gravado no Azure Resource Graph.

Tipos de clientes suportados

As definições de política de configuração da máquina incluem novas versões. As versões mais antigas dos sistemas operativos disponíveis no Azure Marketplace sã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 suporte vitalício por seus respetivos editores são excluídas da matriz de suporte.

A tabela a seguir mostra uma lista de sistemas operacionais com suporte em imagens do Azure. O .x texto é simbólico para representar novas versões secundárias de distribuições Linux.

Publisher 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 Cliente Windows Janelas 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
Rochoso Rocky Linux 8
SUSE SLES 12 SP5, 15.x

* Red Hat CoreOS não é suportado.

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

Requisitos de rede

As máquinas virtuais do Azure podem usar seu adaptador de rede virtual local (vNIC) ou o Azure Private Link para se comunicar com o serviço de configuração da máquina.

As máquinas habilitadas para Azure Arc se conectam usando a infraestrutura de rede local para acessar os serviços do Azure e relatar o status de conformidade.

A seguir está uma lista dos pontos de extremidade de 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

Comunicar através de redes virtuais no Azure

Para se comunicar com o provedor de recursos de configuração de máquina no Azure, as máquinas 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 do Grupo de Segurança de Rede. As marcasAzureArcInfrastructure de serviço e Storage podem ser usadas para fazer referência à configuração de convidado e aos serviços de armazenamento, em vez de manter manualmente a lista de intervalos de IP para datacenters do Azure. Ambas as tags são necessárias porque o Armazenamento do Azure hospeda os pacotes de conteúdo de configuração da máquina.

As máquinas virtuais podem usar o link privado para comunicação com o serviço de configuração da máquina. Aplique a tag com o nome EnablePrivateNetworkGC e o valor TRUE para habilitar esse recurso. A tag pode ser aplicada antes ou depois que as definições de política de configuração da máquina forem aplicadas à máquina.

Importante

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

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

Comunicar através de pontos de extremidade públicos fora do Azure

Os servidores localizados no local ou em outras nuvens podem ser gerenciados com a configuração da máquina conectando-os ao Azure Arc.

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

  • Porta: apenas a TCP 443 é necessária para acesso de saída à Internet
  • 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 Agente de Máquina Conectada do Azure para cenários principais de configuração de máquina e Arco do Azure.

Quando você usa 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 tag no servidor habilitado para Arc para habilitar esse recurso.

Atribuir políticas a máquinas fora do Azure

As definições de política de auditoria disponíveis para configuração de máquina incluem o tipo de recurso Microsoft.HybridCompute/machines . Todas as máquinas integradas aos servidores habilitados para Azure Arc que estão no escopo da atribuição de política são incluídas automaticamente.

Requisitos de identidade gerenciada

As definições de política na iniciativa Deploy prerequisites to enable guest configuration policies on virtual machines permitem uma identidade gerenciada atribuída ao sistema, caso não exista. Há duas definições de política na iniciativa que gerenciam a criação de identidade. As if condições nas definições de política garantem o comportamento correto com base no estado atual do recurso de máquina 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 aplicativos existentes, a menos que eles especifiquem a identidade atribuída pelo usuário na solicitação, a máquina usará como padrão a identidade atribuída pelo sistema. Saiba mais

Se a máquina não tiver identidades gerenciadas no momento, a política efetiva é: Adicionar identidade gerenciada atribuída ao sistema para habilitar atribuições de Configuração de Convidado em máquinas virtuais sem identidades

Se a máquina tiver atualmente uma identidade de sistema atribuída pelo usuário, a política efetiva é: Adicionar identidade gerenciada atribuída ao 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 porque 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 exibir relatórios de atribuição de convidado se pelo menos uma região no par 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 for restaurada, você poderá acessar os relatórios novamente.

É uma prática recomendada atribuir as mesmas definições de política com os mesmos parâmetros a todas as máquinas 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 atrá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 no site primário e secundário estão dentro do escopo das atribuições da Política do Azure para as mesmas definições. Use os mesmos valores de parâmetro para ambos os sites.

Residência de dados

A configuração da máquina armazena e processa dados do cliente. Por padrão, os dados do cliente são replicados para a região emparelhada. Para as regiões Cingapura, Brasil, Sul e Leste Asiático, todos os dados do cliente são armazenados e processados na região.

Solução de problemas de configuração da máquina

Para obter mais informações sobre como solucionar problemas de configuração de máquina, consulte Solução de problemas da Política do Azure.

Atribuições múltiplas

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

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

ID DisplayName
/providers/Microsoft.Authorization/policyDefinitions/5fe81c49-16b6-4870-9cee-45d13bf902ce Os métodos de autenticação local devem ser desabilitados 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 [Pré-visualização]: Adicionar identidade gerida atribuída pelo utilizador para ativar atribuições de Configuração de Convidado em máquinas virtuais
/providers/Microsoft.Authorization/policyDefinitions/63594bb8-43bb-4bf0-bbf8-c67e5c28cb65 [Pré-visualização]: As máquinas Linux devem cumprir os requisitos de conformidade STIG para computação do Azure
/providers/Microsoft.Authorization/policyDefinitions/50c52fc9-cb21-4d99-9031-d6a0c613361c [Pré-visualização]: As máquinas Windows devem cumprir os requisitos de conformidade STIG para computação do Azure
/providers/Microsoft.Authorization/policyDefinitions/e79ffbda-ff85-465d-ab8e-7e58a557660f [Preview]: Máquinas 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 máquinas Windows que não contêm os certificados especificados na Raiz Confiável
/providers/Microsoft.Authorization/policyDefinitions/08a2f2d2-94b2-4a7b-aa3b-bb3f523ee6fd Auditar máquinas Windows nas quais a configuração DSC não é compatível
/providers/Microsoft.Authorization/policyDefinitions/c648fbbb-591c-4acd-b465-ce9b176ca173 Auditar máquinas 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 Auditar máquinas Windows que não têm os módulos especificados do Windows PowerShell instalados
/providers/Microsoft.Authorization/policyDefinitions/58c460e9-7573-4bb2-9676-339c2f2486bb Auditar máquinas Windows nas quais o Console Serial do Windows não está habilitado
/providers/Microsoft.Authorization/policyDefinitions/e6ebf138-3d71-4935-a13b-9c7fdddd94df Auditar máquinas Windows nas quais os serviços especificados não estão instalados e 'Em execução'
/providers/Microsoft.Authorization/policyDefinitions/c633f6a2-7f8b-4d9e-9456-02f0f04f5505 Auditar máquinas Windows que não estão definidas para o fuso horário especificado

Nota

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

Atribuições a grupos de gerenciamento do Azure

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

Arquivos de log do cliente

A extensão de configuração da máquina grava arquivos de log nos seguintes locais:

Windows

  • VM do Azure: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Servidor habilitado para Arc: C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • VM do Azure: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Servidor habilitado para 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 máquina deve ser usar os cmdlets seguindo as etapas em Como testar artefatos do pacote de configuração da máquina. Se isso não for bem-sucedido, a coleta de logs de clientes pode ajudar a diagnosticar problemas.

Windows

Capture informações de arquivos de log usando o Comando de Execução de VM do Azure, o seguinte exemplo de script do PowerShell 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 seguinte exemplo de script Bash 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 da máquina baixa pacotes de conteúdo para uma máquina e extrai o conteúdo. Para verificar qual conteúdo foi baixado e armazenado, exiba os locais das pastas na lista a seguir.

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

Funcionalidade do módulo nxtools de código aberto

Um novo módulo nxtools de código aberto foi lançado para ajudar a tornar o gerenciamento de sistemas Linux mais fácil para os usuários do PowerShell.

O módulo ajuda na gestão de tarefas comuns, tais como:

  • Gerenciando usuários e grupos
  • Executando operações do sistema de arquivos
  • Gerir serviços
  • Execução de operações de arquivamento
  • Gerir pacotes

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

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

Amostras de configuração da máquina

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

Próximos passos