Editar

Share via


Gerir a conformidade da máquina virtual

Azure Policy

Este artigo descreve como gerir a conformidade de máquinas virtuais sem prejudicar as práticas do DevOps. Utilize o Azure VM Image Builder 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 controlo da conformidade da máquina virtual (VM)

Diagrama de arquitetura que mostra como a solução gere Azure Marketplace imagens. Os passos ilustrados incluem personalização, controlo, 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 estes passos:

  1. O processo captura uma imagem de base do Azure Marketplace.
  2. O Construtor de Imagens da VM personaliza a imagem.
  3. O processo de tatuagem de imagens controla informações da versão da imagem, como a data de origem e publicação.
  4. Os testes automatizados validam a imagem.
  5. Se a imagem falhar em quaisquer testes, regressa ao passo de personalização para reparações.
  6. O processo publica a imagem finalizada.
  7. A Galeria de Computação disponibiliza a imagem às equipas do DevOps.

Diagrama de arquitetura que mostra como a solução gere a conformidade ao atribuir definições de política, avaliar máquinas e apresentar dados num dashboard.

Transfira um ficheiro do Visio desta arquitetura.

O processo de controlo da conformidade da VM contém estes passos:

  1. Azure Policy atribui definições de política a VMs e avalia as VMs para conformidade.
  2. Azure Policy publica dados de conformidade para as VMs e outros recursos do Azure no dashboard de Azure Policy.

Componentes

  • O Construtor de Imagens da VM é um serviço gerido para personalizar imagens do sistema. Este serviço cria e distribui as imagens que as equipas do DevOps utilizam.

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

  • Azure Policy oferece definições de política. Pode utilizar estas definições para impor as normas da sua organização e avaliar a conformidade em escala. O dashboard de Azure Policy apresenta os resultados de avaliações de Azure Policy. Estes dados mantêm-no informado sobre o estado de conformidade dos seus recursos.

  • A funcionalidade Configuração da Máquina de Gestão Automática do Azure do Azure Policy fornece uma forma de auditar ou atribuir dinamicamente configurações a máquinas através de código. Geralmente, as configurações incluem definições de ambiente ou sistema operativo.

Alternativas

  • Pode utilizar uma ferramenta de terceiros para gerir a conformidade. Contudo, com este tipo de ferramenta, normalmente tem de instalar um agente na VM de destino. Também poderá ter de pagar uma taxa de licenciamento.

  • Pode utilizar extensões de script personalizadas para instalar software em VMs ou configurar VMs após a implementação. Mas cada VM ou Conjunto de Dimensionamento de Máquinas Virtuais só pode ter uma extensão de script personalizada. Além disso, se utilizar extensões de script personalizadas, impede que as equipas do DevOps personalizem as respetivas aplicações.

Detalhes do cenário

Cada empresa tem os seus próprios regulamentos e normas de conformidade. No que diz respeito à segurança, cada empresa tem o seu próprio apetite por risco. As normas 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 desafiante no dimensionamento dinâmico de ambientes na cloud do que em sistemas no local. Quando as equipas utilizam práticas do DevOps, normalmente existem menos restrições sobre quem pode criar recursos do Azure, como VMs. Este facto complica os desafios de conformidade.

Ao utilizar Azure Policy e atribuições de controlo de acesso baseadas em funções, as empresas podem impor normas nos recursos do Azure. Contudo, com as VMs, estes mecanismos afetam apenas o plano de controlo ou a rota para a VM. As imagens de sistema que são executadas numa VM ainda representam uma ameaça à segurança. Algumas empresas impedem que os programadores acedam a VMs. Esta abordagem prejudica a agilidade, dificultando o seguimento das práticas do DevOps.

Este artigo apresenta uma solução para gerir a conformidade das 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 do DevOps. Os componentes principais incluem o Azure VM Image Builder, a Galeria de Computação do Azure e Azure Policy.

Potenciais casos de utilização

Esta solução aplica-se às organizações com zonas de destino do Azure que completam estas tarefas:

  • Fornecer imagens douradas às equipas do DevOps. Uma imagem dourada é a versão publicada de uma imagem do marketplace.
  • Testar e validar imagens antes de as disponibilizar às equipas do DevOps.
  • Controlar a imagem que cada equipa do DevOps utiliza.
  • Impor normas da empresa sem degradar a produtividade.
  • Garantir que as equipas do DevOps utilizam as versões de imagem mais recentes.
  • Gerir a conformidade dos servidores de animais de estimação, que são de manutenção intensiva, e os servidores de gado, que são facilmente substituíveis.

Abordagem

As secções seguintes fornecem uma descrição detalhada da abordagem da solução.

Identificar animais de estimação e gado

As equipas do DevOps utilizam uma analogia chamada animais de estimação e gado para definir modelos de serviço. Para controlar a conformidade de uma VM, determine primeiro 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. A recuperação de um servidor de animais de estimação requer um investimento considerável de tempo e recursos financeiros. Por exemplo, um servidor que executa o 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 tiver uma tolerância a falhas baixa, 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. Pode substituí-los facilmente. Por exemplo, as VMs executadas num Conjunto de Dimensionamento de Máquinas Virtuais são de gado. Se existirem VMs suficientes no conjunto, o sistema continua em execução e não precisa de saber o nome de cada VM. Os servidores de ambiente de teste que cumprem as seguintes condições fornecem outro exemplo de gado:

    • Utilize um procedimento automatizado para criar os servidores do zero.
    • Depois de concluir a execução dos testes, desativa os servidores.

Um ambiente pode conter apenas servidores de animais de estimação ou pode conter apenas servidores de gado. Por outro lado, um conjunto de VMs num ambiente pode ser um animal de estimação. Um conjunto diferente de VMs nesse mesmo ambiente pode ser gado.

Para gerir a conformidade:

  • A conformidade com animais de estimação pode ser mais desafiante para controlar do que a conformidade do gado. Normalmente, apenas as equipas do DevOps podem controlar e manter a conformidade dos ambientes e servidores de animais de estimação. No entanto, a solução deste artigo aumenta a visibilidade do estado de cada animal de estimação, tornando mais fácil para todos na organização controlar a conformidade.
  • Para ambientes de gado, atualize as VMs e recompile-as regularmente. Estes passos devem ser adequados para a conformidade. Pode alinhar este ciclo de atualização com a cadência de lançamento regular da sua equipa de DevOps.

Restringir imagens

Não permita que as equipas do DevOps utilizem Azure Marketplace imagens de VM. Permitir apenas imagens de VM publicadas pela Galeria de Computação. Esta restrição é fundamental para garantir a conformidade da VM. Pode utilizar uma política personalizada no Azure Policy para impor esta restrição. Para obter um exemplo, veja Permitir publicadores de imagens.

Como parte desta solução, o Construtor de Imagens da VM deve utilizar uma imagem Azure Marketplace. É essencial utilizar a imagem mais recente disponível no Azure Marketplace. Aplique todas as personalizações sobre essa imagem. Azure Marketplace imagens são atualizadas frequentemente e cada imagem tem determinadas configurações predefinidas, garantindo que as imagens estão protegidas por predefinição.

Personalizar imagens

Uma imagem dourada é a versão de uma imagem do marketplace publicada na Galeria de Computação. As imagens douradas estão disponíveis para consumo pelas equipas do 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:

  • Proteção do sistema operativo.
  • Implementar agentes personalizados para software de terceiros.
  • Instalar certificados de raiz de autoridade de certificação (AC) empresarial.

Pode utilizar o Construtor de Imagens da VM para personalizar imagens ao ajustar as definições do sistema operativo e ao executar scripts e comandos personalizados. O Construtor de Imagens da VM suporta imagens do Windows e do Linux. Para obter mais informações sobre como personalizar imagens, veja Azure Policy Controlos de Conformidade Regulamentar do Azure Máquinas Virtuais.

Controlar tatuagens de imagens

A tatuagem de imagens é o processo de controlar todas as informações de controlo de versões de imagens que uma VM utiliza. Estas informações são inestimáveis durante a resolução de problemas e podem incluir:

  • A origem original da imagem, como o nome e a versão do publicador.
  • A cadeia de versão do sistema operativo, de que precisa se existir uma atualização no local.
  • A versão da sua imagem personalizada.
  • A data de publicação.

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

Para tatuar imagens em VMs do Windows, configure um registo personalizado. Adicione todas as informações necessárias a este caminho de registo como pares chave-valor. Nas VMs do Linux, introduza dados de tatuagem de imagens em variáveis de ambiente ou num ficheiro. Coloque o ficheiro na pasta, onde não entra em /etc/ conflito com o trabalho ou as aplicações do programador. Se quiser utilizar Azure Policy para controlar os dados de tatuagem ou o relatório, armazene cada fragmento de dados como um par chave-valor exclusivo. Para obter informações sobre como determinar a versão de uma imagem do Marketplace, veja Como encontrar uma versão de imagem do Marketplace.

Validar imagens douradas com testes automatizados

Geralmente, deve atualizar as imagens douradas mensalmente para se manter atualizado com as atualizações e alterações mais recentes no Azure Marketplace imagens. Utilize um procedimento de teste recorrente para esta finalidade. Como parte do processo de criação de imagens, utilize um pipeline do Azure ou outro fluxo de trabalho automatizado para testes. Configure o pipeline para implementar uma nova VM para executar testes antes do início de cada mês. Os testes devem confirmar as imagens analisadas antes de as publicarem para consumo. Automatize os testes com uma solução de automatização de teste ou executando comandos ou lotes na VM.

Os cenários de teste comuns incluem:

  • A validar o tempo de arranque da VM.
  • Confirmar qualquer personalização da imagem, como definições de configuração do sistema operativo ou implementações de agentes.

Um teste com falha 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 para manter um estado sempre verde.

Publicar imagens douradas

Publicar imagens finais na Galeria de Computação como uma imagem gerida ou como um disco rígido virtual (VHD) que as equipas do DevOps podem utilizar. Marcar quaisquer imagens anteriores como estando envelhecidas. Se não tiver definido uma data de fim de vida para uma versão de imagem na Galeria de Computação, poderá preferir 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 utiliza a Galeria de Computação, veja Armazenar e partilhar imagens numa 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, pode gerir o ciclo de vida e a replicação das suas imagens em diferentes regiões do Azure.

Para obter mais informações sobre a Galeria de Computação, veja Armazenar e partilhar imagens numa Galeria de Computação do Azure.

Atualizar imagens douradas

Quando uma imagem é utilizada para uma aplicação, pode ser difícil atualizar a imagem do sistema operativo subjacente com alterações de conformidade recentes. Requisitos comerciais rigorosos podem complicar o processo de atualização da VM subjacente. A atualização também é complexa quando a VM é fundamental para a empresa.

Uma vez que os servidores de gado são dispensáveis, pode coordenar com as equipas do DevOps para atualizar estes servidores numa janela de manutenção planeada como uma atividade empresarial como habitual.

É mais difícil atualizar os servidores de animais de estimação. Descontinuar uma imagem pode colocar as aplicações em risco. Em cenários de escalamento horizontal, o Azure não consegue encontrar as respetivas imagens, o que resulta em falhas.

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

Melhorar a visibilidade

Geralmente, deve utilizar Azure Policy para gerir qualquer atividade de conformidade do plano de controlo. Também pode utilizar Azure Policy para:

  • Controlar a conformidade da VM.
  • Instalar agentes do Azure.
  • Capturar registos de diagnósticos.
  • Melhorar a visibilidade da conformidade da VM.

Utilize a funcionalidade Azure Automanage Machine Configuration do Azure Policy para auditar as alterações de configuração que efetua durante a personalização da imagem. Quando ocorre um desvio, o dashboard Azure Policy lista a VM afetada como não conforme. Azure Policy pode utilizar informações de tatuagem de imagens para controlar quando utiliza imagens ou sistemas operativos desatualizados.

Auditar servidores de animais de estimação para cada aplicação. Ao utilizar as Políticas do Azure com um efeito de auditoria, pode melhorar a visibilidade destes servidores. Ajuste o processo de auditoria de acordo com o apetite pelo risco da sua empresa e os processos de gestão de riscos internos.

Cada equipa do DevOps pode controlar os níveis de conformidade das aplicações no dashboard Azure Policy e tomar as medidas corretivas adequadas. Quando atribuir estas políticas a um grupo de gestão ou a uma subscrição, atribua à descrição da atribuição um URL que conduz a um wiki ao nível da empresa. Também pode utilizar um URL curto como aka.ms/policy-21. No wiki, liste os passos que as equipas de DevOps devem seguir para tornar as VMs compatíveis.

Os gestores de risco de TI e os responsáveis pela segurança também podem utilizar o dashboard de Azure Policy para gerir os riscos da empresa de acordo com o apetite pelo risco da empresa.

Ao utilizar a funcionalidade de configuração do Azure Automanage Machine do Azure Policy com opções de remediação, pode aplicar ações corretivas automaticamente. Mas interrogar frequentemente uma VM ou fazer alterações numa VM que utiliza para uma aplicação crítica para a empresa pode degradar o desempenho. Planeie cuidadosamente as ações de remediação para cargas de trabalho de produção. Atribua a uma equipa do DevOps a propriedade da conformidade da aplicação em todos os ambientes. Esta abordagem é essencial para servidores e ambientes de animais de estimação, que normalmente são componentes do Azure de longo prazo.

Considerações

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

Escalabilidade

Pode configurar o número de réplicas que a Galeria de Computação armazena de cada imagem. Um maior número de réplicas minimiza o risco de limitação quando aprovisiona várias VMs em simultâneo. Para obter orientações gerais sobre como dimensionar e configurar um número adequado de réplicas, veja Dimensionar para a Galeria de Computação do Azure.

Resiliência

Esta solução utiliza componentes geridos que são resilientes automaticamente a nível regional. Para obter orientações gerais sobre a conceção de soluções resilientes, veja Conceber aplicações 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, veja Descrição geral do pilar de otimização de custos.

A menos que utilize um serviço de terceiros, como o Ansible ou o Terraform, esta abordagem é quase gratuita. Podem aplicar-se custos de armazenamento e saída. Outros custos potenciais envolvem estes componentes:

  • Azure Policy e a configuração do Azure Automanage Machine são gratuitas para os recursos do Azure. Se a sua empresa utilizar uma abordagem híbrida, existem custos adicionais para os recursos do Azure Arc.

  • Durante o período de pré-visualização pública, o Construtor de Imagens da VM está a utilizar um único tipo de instância de computação com 1 vCPU e 3,5 GB de RAM. Os custos podem aplicar-se ao armazenamento e transferência de dados.

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

    • O custo do armazenamento de réplicas.
    • Custos 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 do LinkedIn não públicos, inicie sessão no LinkedIn.

Passos seguintes