Editar

Partilhar via


Gerenciar a conformidade da máquina virtual

Azure Policy

Este artigo descreve como gerenciar a conformidade da máquina virtual sem prejudicar as práticas de DevOps. Use o Construtor de Imagens de VM do Azure e a Galeria de Computação do Azure para minimizar o risco das imagens do sistema.

Arquitetura

A solução consiste em dois processos:

  • O processo de publicação de imagens douradas
  • O processo de controle da conformidade da máquina virtual (VM)

Diagrama de arquitetura mostrando como a solução gerencia imagens do Azure Marketplace. As etapas ilustradas incluem personalização, acompanhamento, teste e publicação.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

O processo de publicação de imagens douradas é executado mensalmente e contém estas etapas:

  1. O processo captura uma imagem base do Azure Marketplace.
  2. O VM Image Builder personaliza a imagem.
  3. O processo de tatuagem de imagem rastreia informações de versão da imagem, como a fonte e a data de publicação.
  4. Testes automatizados validam a imagem.
  5. Se a imagem falhar em qualquer teste, ela retornará à etapa de personalização para reparos.
  6. O processo publica a imagem finalizada.
  7. A Compute Gallery disponibiliza a imagem para as equipes de DevOps.

Diagrama de arquitetura mostrando como a solução gerencia a conformidade atribuindo definições de política, avaliando máquinas e exibindo dados em um painel.

Transfira um ficheiro do Visio desta arquitetura.

O processo de acompanhamento da conformidade da VM contém estas etapas:

  1. A Política do Azure atribui definições de política às VMs e avalia a conformidade das VMs.
  2. A Política do Azure publica dados de conformidade para as VMs e outros recursos do Azure no painel da Política do Azure.

Componentes

  • O VM Image Builder é um serviço gerenciado para personalizar imagens do sistema. Esse serviço cria e distribui as imagens que as equipes de DevOps usam.

  • A Galeria de Computação ajuda a estruturar e organizar imagens personalizadas. Ao armazenar imagens em repositórios, este serviço fornece acesso controlado às imagens. Os usuários podem estar dentro e fora da sua organização.

  • O Azure Policy oferece definições de política. Você pode usar essas definições para impor os padrões da sua organização e avaliar a conformidade em escala. O painel da Política do Azure exibe os resultados das avaliações da Política do Azure. Esses dados mantêm você informado sobre o status de conformidade de seus recursos.

  • O recurso Configuração de Máquina de Gerenciamento Automático do Azure da Política do Azure fornece uma maneira de auditar dinamicamente ou atribuir configurações a máquinas por meio de código. As configurações geralmente incluem configurações de ambiente ou sistema operacional.

Alternativas

  • Você pode usar uma ferramenta de terceiros para gerenciar a conformidade. Mas com esse tipo de ferramenta, você geralmente precisa instalar um agente na VM de destino. Poderá também ter de pagar uma taxa de licenciamento.

  • Você pode usar extensões de script personalizadas para instalar software em VMs ou configurar VMs após a implantação. Mas cada VM ou Conjunto de Dimensionamento de Máquina Virtual só pode ter uma extensão de script personalizada. E se você usar extensões de script personalizadas, impedirá que as equipes de DevOps personalizem seus aplicativos.

Detalhes do cenário

Cada empresa tem seus próprios regulamentos e padrões de conformidade. Em relação à segurança, cada empresa tem seu próprio apetite ao risco. Os padrões de segurança podem diferir de uma organização para outra e de uma região para outra.

Seguir padrões diferentes pode ser mais desafiador em ambientes de nuvem de dimensionamento dinâmico do que em sistemas locais. Quando as equipes usam práticas de DevOps, geralmente há menos restrições sobre quem pode criar recursos do Azure, como VMs. Esse fato complica os desafios de conformidade.

Usando a Política do Azure e atribuições de controle de acesso baseadas em função, as empresas podem impor padrões nos recursos do Azure. Mas com VMs, esses mecanismos afetam apenas o plano de controle ou a rota para a VM. As imagens do sistema executadas em uma VM ainda representam uma ameaça à segurança. Algumas empresas impedem que os desenvolvedores acessem VMs. Essa abordagem prejudica a agilidade, dificultando o cumprimento das práticas de DevOps.

Este artigo apresenta uma solução para gerenciar a conformidade de VMs executadas no Azure. Além de controlar a conformidade, a solução também minimiza o risco de imagens do sistema que são executadas em VMs. Ao mesmo tempo, a solução é compatível com as práticas de DevOps. Os componentes principais incluem o Azure VM Image Builder, a Galeria de Computação do Azure e a Política do Azure.

Potenciais casos de utilização

Esta solução aplica-se a organizações com zonas de aterraterragem do Azure que concluem estas tarefas:

  • Fornecimento de imagens douradas para equipes de DevOps. Uma imagem dourada é a versão publicada de uma imagem de mercado.
  • Testando e validando imagens antes de disponibilizá-las para as equipes de DevOps.
  • Rastreando qual imagem cada equipe de DevOps usa.
  • Fazer cumprir os padrões da empresa sem degradar a produtividade.
  • Garantir que as equipes de DevOps usem as versões de imagem mais recentes.
  • Gerenciar a conformidade de servidores de animais de estimação, que são de manutenção intensiva, e servidores de gado, que são facilmente substituíveis.

Abordagem

As seções a seguir fornecem uma descrição detalhada da abordagem da solução.

Identificar animais de estimação e gado

As equipes de DevOps usam uma analogia chamada animais de estimação e gado para definir modelos de serviço. Para acompanhar a conformidade de uma VM, primeiro determine se é um servidor de animais de estimação ou de gado:

  • Os animais de estimação requerem uma atenção significativa. Não são fáceis de dispensar. Recuperar um servidor de animais de estimação requer investir uma quantidade considerável de tempo e recursos financeiros. Por exemplo, um servidor que executa SAP pode ser um animal de estimação. Além do software que é executado no servidor, outras considerações também podem determinar o modelo de serviço. Se você tiver uma baixa tolerância a falhas, os servidores de produção em sistemas em tempo real e quase em tempo real também podem ser animais de estimação.

  • Os servidores de gado fazem parte de um grupo idêntico. Você pode substituí-los facilmente. Por exemplo, as VMs executadas em um Conjunto de Escala de Máquina Virtual são gado. Se houver VMs suficientes no conjunto, seu sistema continuará em execução e você não precisará saber o nome de cada VM. Os servidores de ambiente de teste que atendem às seguintes condições fornecem outro exemplo de gado:

    • Você usa um procedimento automatizado para criar os servidores do zero.
    • Depois de concluir a execução dos testes, você descomissiona os servidores.

Um ambiente pode conter apenas servidores de animais de estimação ou pode conter apenas servidores de gado. Em contraste, um conjunto de VMs em um ambiente pode ser animais de estimação. Um conjunto diferente de VMs nesse mesmo ambiente poderia ser gado.

Para gerenciar a conformidade:

  • A conformidade dos animais de companhia pode ser mais difícil de controlar do que a conformidade dos bovinos. Normalmente, apenas as equipes de DevOps podem rastrear e manter a conformidade de ambientes e servidores de animais de estimação. Mas a solução deste artigo aumenta a visibilidade do status de cada animal de estimação, tornando mais fácil para todos na organização acompanhar a conformidade.
  • Para ambientes de gado, atualize as VMs e reconstrua-as do zero regularmente. Essas medidas devem ser adequadas para o cumprimento. Você pode alinhar esse ciclo de atualização com a cadência de lançamento regular da sua equipe de DevOps.

Restringir imagens

Não permita que as equipes de DevOps usem imagens de VM do Azure Marketplace. Permita apenas imagens de VM que a Compute Gallery publique. Essa restrição é crítica para garantir a conformidade da VM. Você pode usar uma política personalizada na Política do Azure para impor essa restrição. Para obter um exemplo, consulte Permitir editores de imagens.

Como parte dessa solução, o Construtor de Imagens de VM deve usar uma imagem do Azure Marketplace. É essencial usar a imagem mais recente disponível no Azure Marketplace. Aplique todas as personalizações sobre essa imagem. As imagens do Azure Marketplace são atualizadas com frequência e cada imagem tem determinadas configurações predefinidas, garantindo que suas imagens estejam seguras por padrão.

Personalizar imagens

Uma imagem dourada é a versão de uma imagem de mercado publicada na Compute Gallery. As imagens douradas estão disponíveis para consumo pelas equipes de DevOps. Antes de a imagem ser publicada, a personalização ocorre. As atividades de personalização são exclusivas para cada empresa. As atividades comuns incluem:

  • Fortalecimento do sistema operacional.
  • Implantação de agentes personalizados para software de terceiros.
  • Instalação de certificados raiz de autoridade de certificação (CA) empresarial.

Você pode usar o VM Image Builder para personalizar imagens ajustando as configurações do sistema operacional e executando scripts e comandos personalizados. O VM Image Builder suporta imagens Windows e Linux. Para obter mais informações sobre como personalizar imagens, consulte Controles de conformidade regulatória da política do Azure para máquinas virtuais do Azure.

Acompanhe tatuagens de imagem

A tatuagem de imagem é o processo de manter o controle de todas as informações de controle de versão de imagem que uma VM usa. Essas informações são inestimáveis durante a solução de problemas e podem incluir:

  • A fonte original da imagem, como o nome e a versão do editor.
  • A cadeia de caracteres de versão do sistema operacional, que você precisa se houver uma atualização in-loco.
  • A versão da sua imagem personalizada.
  • A sua data de publicação.

A quantidade e o tipo de informações que você acompanha dependem do nível de conformidade da sua organização.

Para tatuagem de imagem em VMs do Windows, configure um registro personalizado. Adicione todas as informações necessárias a esse caminho do Registro como pares chave-valor. Em VMs Linux, insira dados de tatuagem de imagem em variáveis de ambiente ou em um arquivo. Coloque o arquivo na pasta, onde ele não entra em conflito com o /etc/ trabalho do desenvolvedor ou aplicativos. Se você quiser usar o Azure Policy para rastrear os dados de tatuagem ou gerar relatórios sobre eles, armazene cada parte dos dados como um par chave-valor exclusivo. Para obter informações sobre como determinar a versão de uma imagem do Marketplace, consulte Como encontrar uma versão de imagem do Marketplace.

Valide imagens douradas com testes automatizados

Geralmente, você deve atualizar as imagens douradas mensalmente para se manter atualizado com as atualizações e alterações mais recentes nas imagens do Azure Marketplace. Use um procedimento de teste recorrente para essa finalidade. Como parte do processo de criação de imagem, use um pipeline do Azure ou outro fluxo de trabalho automatizado para teste. Configure o pipeline para implantar uma nova VM para executar testes antes do início de cada mês. Os testes devem confirmar imagens paradas antes de publicá-las para consumo. Automatize testes usando uma solução de automação de teste ou executando comandos ou lotes na VM.

Os cenários de teste comuns incluem:

  • Validando o tempo de inicialização da VM.
  • Confirmar qualquer personalização da imagem, como definições de configuração do sistema operacional ou implantações de agente.

Um teste reprovado deve interromper o processo. Repita o teste depois de abordar a causa raiz do problema. Se os testes forem executados sem problemas, automatizar o processo de teste reduz o esforço necessário para manter um estado sempre verde.

Publicar imagens douradas

Publique as imagens finais na Galeria de Computação como uma imagem gerenciada ou como um disco rígido virtual (VHD) que as equipes de DevOps podem usar. Marque as imagens anteriores como envelhecidas. Se você não definiu uma data de fim de vida útil para uma versão de imagem na Galeria de Computação, talvez prefira descontinuar a imagem mais antiga. Esta decisão depende das políticas da sua empresa.

Para obter informações sobre os limites que se aplicam quando você usa a Galeria de Computação, consulte Armazenar e compartilhar imagens em uma Galeria de Computação do Azure.

Outra boa prática é publicar as imagens mais recentes em diferentes regiões. Com a Galeria de Computação, você pode gerenciar o ciclo de vida e a replicação de suas imagens em diferentes regiões do Azure.

Para obter mais informações sobre a Galeria de Computação, consulte Armazenar e compartilhar imagens em uma Galeria de Computação do Azure.

Atualizar imagens douradas

Quando uma imagem é usada para um aplicativo, pode ser difícil atualizar a imagem do sistema operacional subjacente com alterações de conformidade recentes. Requisitos de negócios rigorosos podem complicar o processo de atualização da VM subjacente. A atualização também é complexa quando a VM é crítica para os negócios.

Como os servidores de gado são dispensáveis, você pode coordenar com as equipes de DevOps para atualizar esses servidores em uma janela de manutenção planejada como uma atividade normal.

É mais desafiador atualizar servidores de animais de estimação. A descontinuação de uma imagem pode colocar aplicações em risco. Em cenários de expansão, o Azure não consegue encontrar as respetivas imagens, resultando em falhas.

Considere estas diretrizes ao atualizar servidores de animais de estimação:

  • Para obter práticas recomendadas, consulte Visão geral do pilar de confiabilidade no Azure Well-Architected Framework.

  • Para agilizar o processo, consulte os princípios que estes documentos discutem:

  • Marque cada servidor de animais de estimação como um animal de estimação. Configure uma política na Política do Azure para levar essa marca em consideração durante as atualizações.

Melhorar a visibilidade

Geralmente, você deve usar a Política do Azure para gerenciar qualquer atividade de conformidade do plano de controle. Você também pode usar a Política do Azure para:

  • Rastreando a conformidade da VM.
  • Instalando agentes do Azure.
  • Captura de logs de diagnóstico.
  • Melhorar a visibilidade da conformidade com VMs.

Use o recurso Configuração de Máquina de Gerenciamento Automático do Azure da Política do Azure para auditar as alterações de configuração feitas durante a personalização da imagem. Quando ocorre desvio, o painel da Política do Azure lista a VM afetada como não compatível. A Política do Azure pode usar informações de tatuagem de imagem para rastrear quando você usa imagens ou sistemas operacionais desatualizados.

Auditar servidores de animais de estimação para cada aplicativo. Usando as Políticas do Azure com um efeito de auditoria, você pode melhorar a visibilidade desses servidores. Ajuste o processo de auditoria de acordo com o apetite ao risco da sua empresa e os processos internos de gestão de risco.

Cada equipe de DevOps pode acompanhar os níveis de conformidade de seus aplicativos no painel da Política do Azure e tomar as ações corretivas apropriadas. Ao atribuir essas políticas a um grupo de gerenciamento ou a uma assinatura, forneça à descrição da atribuição uma URL que leve a um wiki em toda a empresa. Você também pode usar um URL curto como aka.ms/policy-21. No wiki, liste as etapas que as equipes de DevOps devem seguir para tornar suas VMs compatíveis.

Os gestores de risco de TI e os responsáveis pela segurança também podem utilizar o painel da Política do Azure para gerir os riscos da empresa de acordo com o apetite de risco da empresa.

Usando o recurso de configuração de Máquina de Gerenciamento Automático do Azure da Política do Azure com opções de correção, você pode aplicar ações corretivas automaticamente. Mas interrogar uma VM com frequência ou fazer alterações em uma VM que você usa para um aplicativo crítico para os negócios pode prejudicar o desempenho. Planeje ações de correção cuidadosamente para cargas de trabalho de produção. Dê a uma equipe de DevOps a propriedade da conformidade de aplicativos em todos os ambientes. Essa abordagem é essencial para servidores e ambientes de animais de estimação, que geralmente são componentes de longo prazo do Azure.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Escalabilidade

Você pode configurar o número de réplicas que a Galeria de Computação armazena de cada imagem. Um número maior de réplicas minimiza o risco de limitação quando você provisiona várias VMs simultaneamente. Para obter orientações gerais sobre dimensionamento e configuração de um número apropriado de réplicas, consulte Dimensionamento para a Galeria de Computação do Azure.

Resiliência

Esta solução utiliza componentes geridos que são automaticamente resilientes a nível regional. Para obter orientações gerais sobre como projetar soluções resilientes, consulte Projetando aplicativos resilientes para o Azure.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

A menos que você use um serviço de terceiros, como Ansible ou Terraform, essa abordagem é quase gratuita. Podem ser aplicados custos de armazenamento e saída. Outros encargos potenciais envolvem estes componentes:

  • A Política do Azure e a configuração da Máquina de Gerenciamento Automático do Azure são gratuitas para os recursos do Azure. Se sua empresa usa uma abordagem híbrida, há cobranças extras pelos recursos do Azure Arc.

  • Durante o período de visualização pública, o VM Image Builder está usando um único tipo de instância de computação com 1 vCPU e 3,5 GB de RAM. O armazenamento e a transferência de dados podem ser sujeitos a taxas.

  • A Galeria de Computação não tem custos, exceto:

    • O custo de armazenamento de réplicas.
    • Cobranças de saída de rede para replicar imagens.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos