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.
Comunicação por meio do Link Privado no Azure
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.
Comunicação por meio do Link Privado fora do Azure
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:
- Definições de política interna – Configuração de Convidado
- Iniciativas internas – Configuração de Convidado
- Repositório do GitHub de exemplos do Azure Policy
- Módulos de recurso DSC de exemplo
Próximas etapas
- Configure um ambiente de desenvolvimento do pacote de configuração de computador personalizado.
- Criar um artefato de pacote para a configuração de computador.
- Teste o artefato de pacote a partir do ambiente de desenvolvimento.
- Use o módulo GuestConfiguration para criar uma definição do Azure Policy para o gerenciamento em escala do seu ambiente.
- Atribua sua definição de política personalizada usando o portal do Azure.
- Saiba como ver os detalhes de conformidade para atribuições da política de configuração de computador.