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.
Comunicar através de Link Privado no Azure
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.
Comunicar através de Link Privado fora 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:
- Definições de política internas - Configuração de convidado
- Iniciativas incorporadas - Configuração do convidado
- Azure Policy exemplos repositório GitHub
- Módulos de recursos DSC de exemplo
Próximos passos
- Configure um ambiente de desenvolvimento de pacote de configuração de máquina personalizado.
- Crie um artefato de pacote para configuração de máquina.
- Teste o artefacto de pacote a partir do ambiente de desenvolvimento.
- Use o módulo GuestConfiguration para criar uma definição de Política do Azure para gerenciamento em escala do seu ambiente.
- Atribua a sua definição de política personalizada com o portal do Azure.
- Saiba como exibir detalhes de conformidade para atribuições de política de configuração de máquina.