Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As organizações que usam uma AC (autoridade de certificação) interna ou não integrada geralmente dependem de processos manuais para renovar os certificados TLS (Transport Layer Security) e SSL (Secure Sockets Layer). A renovação manual pode levar a certificados expirados que causam interrupções de serviço, como quando um certificado de servidor Web expira sem ser notado e interrompe aplicativos voltados para o cliente.
O Azure Key Vault dá suporte à renovação automática de certificado para CAs integradas, como DigiCert ou GlobalSign, mas as ACs não integradas exigem uma abordagem manual. Este artigo apresenta uma arquitetura que automatiza a renovação de certificado para CAs não integradas usando o Key Vault, a Grade de Eventos do Azure, a Automação do Azure e a extensão do Key Vault. A solução reduz o erro humano, minimiza interrupções de serviço e impõe o princípio de privilégio mínimo em todas as identidades no processo de renovação.
Arquitetura
Esta seção fornece uma visão geral da arquitetura subjacente que dá suporte a essa solução.
Carrege um arquivo Visio desta arquitetura.
O ambiente Azure compreende os seguintes recursos de PaaS (plataforma como serviço):
Um cofre de chaves que armazena apenas certificados emitidos pela mesma autoridade certificadora independente
Um tópico do sistema da Grade de Eventos
Uma fila de conta de armazenamento
Uma conta de Automação que expõe um webhook direcionado à Grade de Eventos
Para monitorar o processo e o status dos certificados expirados e prestes a expirar, o Log Analytics armazena os dados, e o workspace os apresenta na forma de painéis gráficos e tabulares.
Esse cenário pressupõe que uma infraestrutura de chave pública (PKI) existente já está em vigor e consiste em uma Autoridade de Certificação Corporativa da Microsoft ingressada em um domínio do Active Directory. A PKI, o domínio do Active Directory e os servidores que exigem a renovação do certificado podem residir em ambientes locais ou do Azure.
Você não precisa ingressar nas VMs (máquinas virtuais) que hospedam certificados para monitorar a renovação para o Active Directory ou para a ID do Microsoft Entra. Você só precisará ingressar "a CA" e o "trabalhador híbrido", se ele estiver localizado em uma VM diferente da "CA", no Active Directory.
As seções a seguir fornecem detalhes sobre o processo de renovação automática.
Workflow
O diagrama a seguir mostra o fluxo de trabalho automático para renovação de certificado no ecossistema Azure.
Baixe um arquivo do Visio desse fluxo de trabalho.
O fluxo de dados a seguir corresponde ao diagrama anterior:
Configuração do Key Vault: A fase inicial do processo de renovação envolve o armazenamento do objeto de certificado na seção certificados designados do cofre de chaves.
Recomendamos que você use marcas de certificado para configurar notificações de email personalizadas marcando cada certificado com o endereço de email do destinatário. Essa abordagem permite notificar administradores específicos para cada certificado em vez de aplicar o mesmo destinatário a todos os certificados. Use a marca destinatário e defina seu valor como um ou mais endereços de email separados por vírgula ou ponto-e-vírgula. As notificações baseadas em etiquetas garantem alertas oportunos quando a renovação do certificado é concluída na AC interna e quando o certificado renovado torna-se disponível no Cofre de Chaves.
Você pode usar notificações de certificado internas do Key Vault em combinação com essa abordagem, mas elas servem a uma finalidade diferente. As notificações internas se aplicam globalmente a todos os certificados no cofre de chaves e são limitadas a alertas de expiração de certificado futuros. Eles usam o mesmo destinatário para todos os certificados.
Configuração da extensão do Key Vault: Você deve equipar os servidores que precisam usar os certificados com a extensão do Key Vault. A extensão é compatível com sistemas Windows e Linux . Ele dá suporte a servidores iaaS (infraestrutura como serviço) do Azure e servidores locais ou outros servidores de nuvem que se integram por meio do Azure Arc. Configure a extensão do Key Vault para sondar periodicamente o Key Vault em busca de certificados atualizados. O intervalo de sondagem é personalizável e flexível, portanto, ele pode se alinhar com requisitos operacionais específicos.
Observação
Em algumas distribuições do Linux ou imagens corporativas protegidas, a extensão do Key Vault pode não estar disponível ou com suporte. Nesses casos, agende o script_for_not_supported_ARC_on_Linux_distro como um substituto recomendado. O script verifica periodicamente o Key Vault em busca de atualizações de certificado e as aplica ao servidor. Ele pode ser executado em VMs nativas do Azure (IaaS) e servidores locais integrados ao Azure Arc.
Integração com o Event Grid: À medida que um certificado se aproxima da expiração, duas assinaturas do Event Grid interceptam esse importante evento de ciclo de vida do cofre de chaves.
Gatilhos do Azure Event Grid: Uma assinatura do Azure Event Grid envia informações de atualização de certificado para uma fila de conta de armazenamento. A outra assinatura aciona a execução de um runbook por meio do webhook configurado na conta de automação. Se o runbook falhar durante a renovação do certificado ou se a autoridade de certificação não estiver disponível, um processo agendado vai tentar renovar o runbook a partir desse ponto até que a fila seja apagada. Esse processo deixa a solução robusta.
Para aprimorar a resiliência da solução, configure um mecanismo de localização de mensagens mortas . Ele gerencia possíveis erros que podem ocorrer durante o trânsito de mensagens da Grade de Eventos para os destinos de assinatura, a fila de armazenamento e o webhook.
Fila da conta de armazenamento: O runbook é iniciado no servidor CA configurado como um Hybrid Runbook Worker de Automação. Ele recebe todas as mensagens na fila da conta de armazenamento que contenham o nome do certificado que está expirando e do cofre de chaves que hospeda o runbook. As etapas a seguir ocorrem para cada mensagem na fila.
Certificate renewal: O script no runbook conecta-se à Azure para recuperar o nome do modelo de certificado que você configurou durante a geração. O modelo é o componente de configuração da AC que define os atributos e a finalidade dos certificados que ele gera.
Depois que o script se comunica com o Key Vault, ele inicia uma solicitação de renovação de certificado. Essa solicitação dispara Key Vault para gerar uma CSR (solicitação de assinatura de certificado) e aplica o mesmo modelo que gerou o certificado original. Esse processo garante que o certificado renovado esteja se alinhe com as políticas de segurança predefinidas. Para obter mais informações sobre segurança no processo de autenticação e autorização, consulte Segurança.
O script baixa o CSR e o envia para a autoridade de certificação.
A autoridade de certificação gera um novo certificado x509 com base no modelo correto e o reenvia para o script. Esta etapa garante que o certificado renovado se alinhe com as políticas de segurança predefinidas.
Mesclagem de certificado e atualização do Key Vault: O script mescla o certificado renovado de volta ao Key Vault. Esta etapa finaliza o processo de atualização e remove a mensagem da fila. Ao longo de todo o processo, a chave privada do certificado jamais é extraída do cofre de chaves.
Monitoramento e notificação por email: Todos os logs relacionados a operações executadas em vários componentes do Azure, incluindo a conta de Automação, o Key Vault, a fila da conta de armazenamento e a Grade de Eventos, devem ser enviados para o workspace logs do Azure Monitor. Depois que o certificado é mesclado no cofre de chaves, o script envia uma mensagem de email aos administradores para notificá-los do resultado.
Certificate retrieval: A extensão Key Vault no servidor desempenha um papel importante durante essa fase. Ele baixa automaticamente a versão mais recente do certificado do cofre de chaves para o repositório local do servidor que usa o certificado. Você pode configurar vários servidores com a extensão do Key Vault para recuperar o mesmo certificado do cofre de chaves, incluindo curinga ou com vários certificados SAN (Nome Alternativo da Entidade).
Para distribuições do Linux nas quais você não pode instalar a extensão Key Vault, agende o script_for_not_supported_ARC_on_Linux_distro para obter a mesma funcionalidade da extensão.
Componentes
Essa solução usa vários componentes para lidar com a renovação automática de certificado no Azure. As seções a seguir descrevem cada componente e a finalidade específica.
Extensão de Key Vault
A extensão do Key Vault é uma ferramenta instalada em servidores que fornece atualização automática de certificados armazenados em um cofre de chaves do Azure. Nessa arquitetura, você deve instalar a extensão do Key Vault em servidores que exigem renovação automática de certificado. Para obter mais informações sobre procedimentos de instalação para vários servidores, consulte os seguintes artigos:
- Extensão do Key Vault para Windows
- Extensão do Key Vault para Linux
- Extensão do Key Vault para servidores habilitados para Azure Arc
Observação
Os scripts a seguir são exemplos que você pode executar no Azure Cloud Shell para configurar a extensão do Key Vault:
Os parâmetros de configuração de extensão Key Vault incluem:
Nome do Cofre de Chaves: O cofre de chaves que contém o certificado para renovação.
Nome do certificado: O nome do certificado a ser renovado.
Repositório de Certificados, Nome e Localização: O repositório de certificados em que o certificado é armazenado. Em servidores Windows, o valor padrão para Name é
Mye Location éLocalMachine, que é o repositório de certificados pessoal do computador. Em servidores Linux, você pode especificar um caminho do sistema de arquivos, supondo que o valor padrão sejaAzureKeyVault, que é o repositório de certificados para Key Vault.linkOnRenewal: Um sinalizador que indica se o certificado deve ser vinculado ao servidor na renovação. Se o sinalizador estiver definido como
trueem computadores Windows, ele copiará o novo certificado no armazenamento e o vinculará ao certificado antigo, o que efetivamente reassocia o certificado. O valor padrão éfalse, o que significa que uma associação explícita é necessária.pollingIntervalInS: O intervalo de sondagem da extensão do Key Vault para verificar se há atualizações de certificado. O valor padrão é
3600segundos (1 hora).authenticationSetting: A configuração de autenticação da extensão Key Vault. Para servidores do Azure, você pode omitir essa configuração para que a extensão use a identidade gerenciada atribuída pelo sistema da VM para autenticar no cofre de chaves. Para servidores no local, se você especificar a configuração
msiEndpoint = "http://localhost:40342/metadata/identity", a extensão usará a entidade de serviço associada ao objeto de computador criado durante a incorporação do Azure Arc.
Observação
Especifique os parâmetros de extensão Key Vault somente durante a instalação inicial. Essa abordagem garante que os parâmetros permaneçam inalterados durante todo o processo de renovação.
Conta de automação
Uma conta de Automação é um serviço baseado em nuvem que automatiza tarefas por meio de runbooks. Nessa arquitetura, ele lida com o processo de renovação de certificado. Você precisa configurar a conta com um runbook utilizando o script PowerShell.
Você também precisa criar um grupo de trabalhos híbrido. Associe o Grupo de Trabalhadores Híbridos a um membro Windows Server do mesmo domínio de Active Directory da CA, idealmente a própria CA, para executar runbooks.
O runbook deve ter um webhook associado e iniciado a partir do Hybrid Runbook Worker. Configure a URL do webhook na assinatura de eventos do tópico do sistema da Grade de Eventos.
Fila de contas de armazenamento
A fila da conta de armazenamento é uma fila de mensagens dentro de Azure Storage. Nessa arquitetura, ela armazena as mensagens que contêm o nome do certificado que está sendo renovado e o cofre de chaves que contém o certificado. Configure a fila da conta de armazenamento no tópico do sistema de assinatura de eventos da Grade de Eventos. A fila é responsável por desacoplar o script do evento de notificação da expiração do certificado. Ela dá suporte à persistência do evento dentro de uma mensagem de fila. Essa abordagem ajuda a garantir que o processo de renovação de certificados seja repetido por meio de trabalhos agendados, mesmo que ocorram problemas durante a execução do script.
Hybrid Runbook Worker
O Hybrid Runbook Worker é um recurso de Automação que você usa para executar runbooks em computadores localizados em um datacenter. Nessa arquitetura, ele executa o runbook de renovação de certificado. Instale o Hybrid Runbook Worker usando o método de extensão do Hybrid Worker do Azure , que é o modo com suporte para uma nova instalação. Crie o trabalhador e associe-o a um membro do Windows Server no mesmo domínio do Active Directory da Autoridade de Certificação (CA), idealmente à própria Autoridade de Certificação (CA).
Cofre de Chaves
Key Vault é o repositório seguro para certificados. Nessa arquitetura, ela armazena certificados emitidos apenas pela mesma AC não integrada. Na seção de eventos do cofre de chaves, associe o tópico do sistema da Grade de Eventos ao webhook da conta de Automação e a uma assinatura.
Grade de Eventos
A Grade de Eventos é um serviço de roteamento de eventos. Nessa arquitetura, ele lida com a comunicação controlada por eventos no Azure. Configure o Event Grid configurando o tópico do sistema e a assinatura de eventos para monitorar eventos relevantes. Os eventos relevantes incluem alertas de expiração de certificado, ações disparadas dentro do fluxo de trabalho de automação e mensagens postadas na fila da conta de armazenamento. Configure o tópico do sistema da Grade de Eventos usando os seguintes parâmetros:
Fonte: O nome do cofre de chaves que contém os certificados.
Tipo de origem: O tipo da origem. Por exemplo, o tipo de origem dessa solução é
Azure Key Vault.Tipo de evento: O tipo de evento a ser monitorado. Por exemplo, o tipo de evento para essa solução é
Microsoft.KeyVault.CertificateNearExpiry. Esse evento é disparado quando um certificado está perto da expiração.Assinatura do Webhook:
Nome da assinatura: O nome da assinatura do evento.
Tipo de ponto de extremidade: O tipo de ponto de extremidade a ser usado. Por exemplo, o tipo do ponto de extremidade para a solução é
Webhook.Endpoint: A URL do webhook associado ao runbook da conta de automação. Para obter mais informações, consulte Conta de Automação.
Assinatura do StorageQueue:
Nome da assinatura: O nome da assinatura do evento.
Tipo de ponto de extremidade: O tipo de ponto de extremidade a ser usado. Por exemplo, o tipo do ponto de extremidade para a solução é
StorageQueue.Endpoint: A fila da conta de armazenamento.
Log Analytics workspace e pasta de trabalho Azure
Os workspaces do Log Analytics e as pastas de trabalho do Azure são recursos do Azure que coletam, agregam e analisam dados. Nessa arquitetura, eles aprimoram o monitoramento e a visualização de status de certificado armazenados no Key Vault. Esses componentes são cruciais para manter a visibilidade da integridade do certificado:
Workspace do Log Analytics: Coleta e armazena dados sobre os estados dos certificados. Ele identifica certificados expirados, certificados que expiram em breve e certificados válidos.
Pasta de trabalho do Azure: Recupera dados do workspace do Log Analytics e os apresenta em um painel com representações visuais, como gráficos de pizza e tabelas detalhadas. Ele categoriza certificados em Não Expirado (verde), Expirando Em Breve (amarelo) e Expirado (vermelho).
Os seguintes componentes recuperam e apresentam informações de certificado na pasta de trabalho:
Execução do runbook de ingestão de dados: Um runbook é executado diretamente do Azure, sem exigir o contexto de um Hybrid Worker. O runbook recupera dados de certificado do cofre de chaves e os envia para uma tabela personalizada definida no workspace do Log Analytics. O runbook é executado em uma cadência agendada.
Visualização da pasta de trabalho: Uma pasta de trabalho consulta os dados da tabela personalizada e os exibe em um gráfico de pizza e em uma tabela detalhada. Ele realça os certificados com base em seu estado de expiração.
Ao integrar esses componentes extras, sua solução cria uma abordagem mais abrangente para o gerenciamento do ciclo de vida do certificado.
Alternativas
Essa solução usa uma conta de Automação para orquestrar o processo de renovação de certificado. Ele também usa o Trabalhador de Runbook Híbrido para fornecer a flexibilidade de integração com uma Autoridade Certificadora (AC) local ou em outras nuvens.
Uma abordagem alternativa é usar Azure Logic Apps. A principal diferença entre as duas abordagens é que a conta de Automação é uma solução de PaaS, e os Aplicativos Lógicos são uma solução saaS (software como serviço).
Os Aplicativos Lógicos são um serviço totalmente gerenciado, portanto, você não precisa gerenciar a infraestrutura subjacente. Ele também pode se integrar com conectores externos. Essa funcionalidade expande o intervalo de opções de notificação, como o envolvimento com o Microsoft Teams ou o Microsoft 365.
Os Logic Apps não têm um recurso semelhante ao Hybrid Runbook Worker, o que resulta em uma integração menos flexível com a Autoridade de Certificação, portanto, a abordagem preferencial é usar uma conta de Automação.
Detalhes do cenário
Cada organização requer um gerenciamento seguro e eficiente de seu ciclo de vida de certificado. Deixar de atualizar um certificado antes da expiração pode acarretar interrupções de serviço e incorrer em custos significativos para os negócios.
As empresas normalmente operam infraestruturas de TI complexas que envolvem várias equipes responsáveis pelo ciclo de vida do certificado. A natureza manual do processo de renovação do certificado normalmente introduz erros e consome um tempo valioso.
Essa solução resolve esses desafios automatizando a renovação de certificado emitida pelo Serviço de Certificado da Microsoft. O serviço é amplamente usado para vários aplicativos de servidor, como servidores Web e servidores SQL, e para criptografia, não conformidade, fins de assinatura e garantia de atualizações oportunas e armazenamento seguro de certificados no Key Vault. A compatibilidade do serviço com servidores Azure e servidores locais dá suporte à implantação flexível.
Possíveis casos de uso
Essa solução atende a organizações de vários setores que:
Use o Microsoft Certificate Service na geração de certificados do servidor.
Exija automação no processo de renovação do certificado para acelerar operações e minimizar erros, o que ajuda a evitar perda de negócios e violações de contrato de nível de serviço (SLA).
Exigir armazenamento seguro de certificados em repositórios como Key Vault.
Esta arquitetura serve como uma abordagem básica de implantação em assinaturas de zonas de aterrissagem de aplicativos.
Observação
Você pode estender o mesmo padrão de ciclo de vida para o Serviço de Aplicativo do Azure, o Gateway de Aplicativo do Azure e cargas de trabalho do Kubernetes que se integram ao Key Vault.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
O Key Vault armazena certificados com segurança como segredos criptografados protegidos pelo controle de acesso baseado em função do Azure.
Dica
Em ambientes que têm requisitos de conformidade rigorosos, como nis2 ou regulamentos do setor público, considere avaliar o Azure Key Vault Premium para proteção de chave apoiada por HSM se você precisar manter o fluxo de trabalho de renovação de certificado que este artigo descreve.
Ao longo do processo de renovação de certificado, os seguintes componentes usam identidades:
A conta do sistema do Hybrid Runbook Worker, que opera sob a conta da VM
A extensão do Key Vault, que usa a identidade gerenciada associada à VM
A conta de automação, que utiliza a identidade gerenciada designada
O privilégio mínimo é rigorosamente imposto em todas as identidades envolvidas no procedimento de renovação de certificado.
A conta de sistema do servidor de Hybrid Runbook Worker deve ter o direito de registrar certificados em um ou mais modelos de certificado que geram novos certificados.
No key vault que contém os certificados, a identidade da conta de Automação deve ter a função Key Vault Certificate Officer. Além disso, os servidores que exigem acesso ao certificado devem ter permissões Get e List dentro do repositório de certificados Key Vault.
Na fila de contas de armazenamento, a identidade da conta de automação deve ter as funções Storage Queue Data Contributor, Reader and Data Access e Reader.
Em cenários em que a extensão do Key Vault é implantada em uma VM do Azure, a autenticação ocorre por meio da identidade gerenciada da VM. No entanto, quando a extensão é implantada em um servidor habilitado para o Azure Arc, um principal do serviço gerencia a autenticação. Você deve atribuir a função de usuário secreta do Key Vault no cofre de chaves que armazena o certificado para a identidade gerenciada e a entidade de serviço. Você deve usar uma função secreta porque o certificado é armazenado no cofre de chaves como um segredo.
Otimização de custos
A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design para otimização de custos.
Essa solução usa as soluções de PaaS do Azure que operam em um modelo 'pay-as-you-go' para otimizar o custo. As despesas dependem do número de certificados que precisam de renovação e do número de servidores equipados com a extensão Key Vault, o que resulta em baixa sobrecarga.
As despesas resultantes da extensão Key Vault e do Hybrid Runbook Worker dependem de suas opções de instalação e intervalos de sondagem. O custo da Grade de Eventos corresponde ao volume de eventos gerados pelo Key Vault. O custo da conta de Automação correlaciona-se com o número de runbooks que você usa.
O custo do Key Vault depende de vários fatores, incluindo SKUs Standard ou Premium, a quantidade de certificados armazenados e a frequência das operações realizadas nos certificados.
Considerações semelhantes para a configuração do Key Vault se aplicam à conta de armazenamento. Nesse cenário, um SKU Standard com replicação de armazenamento com redundância local é suficiente para a conta de armazenamento. Geralmente, o custo da fila de contas de armazenamento é mínimo.
Para estimar o custo da implementação dessa solução, use a calculadora de preços Azure. Insira os serviços descritos neste artigo.
Excelência operacional
A Excelência operacional abrange os processos de operações que implantam uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.
O procedimento de renovação automática de certificado armazena certificados com segurança aplicando processos padronizados em todos os certificados dentro do cofre de chaves.
A integração com a Grade de Eventos dispara ações complementares, como notificar o Microsoft Teams ou o Microsoft 365 e simplificar o processo de renovação. Essa integração reduz significativamente o tempo de renovação do certificado e reduz o potencial de erros que podem levar a interrupções de negócios e violações de SLA.
A integração com o Azure Monitor, o Microsoft Sentinel, o Microsoft Security Copilot e o Microsoft Defender para Nuvem facilita o monitoramento contínuo do processo de renovação de certificado. Isso dá suporte à detecção de anomalias e garante que medidas de segurança robustas sejam mantidas. O Defender para Nuvem contribui principalmente por meio do gerenciamento de postura e correlação de alertas em vez de tratamento direto de eventos de renovação de certificado.
Implantar este cenário
Selecione o botão a seguir para implantar o ambiente descrito neste artigo. A implantação leva cerca de dois minutos para ser concluída e cria um cofre de chaves, um tópico do sistema de Grade de Eventos configurado com as duas assinaturas, uma conta de armazenamento que contém a fila CERTLC e uma conta de Automação que contém o runbook e o webhook vinculado à Grade de Eventos.
Para obter mais informações sobre os parâmetros necessários para a implantação, consulte o portal de exemplo de código .
Importante
Você pode implantar um ambiente de laboratório completo para demonstrar todo o workflow de renovação automática do certificado. Use o exemplo de código para implantar os seguintes recursos:
Active Directory Domain Services (AD DS) em uma VM do controlador de domínio.
Active Directory Certificate Services (AD CS) em uma VM de CA, ingressada no domínio e configurada com um modelo, WebServerShort, para inscrever os certificados a serem renovados.
Um servidor SMTP (Protocolo de Transferência de Email Simples) do Windows instalado na mesma VM que a AC para enviar notificações por email. O MailViewer também é instalado para verificar as notificações de email enviadas.
A extensão do Key Vault instalada na VM do controlador de domínio para recuperar os certificados renovados da extensão do Key Vault.
Colaboradores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Principais autores:
- Fabio Masciotra | Arquiteto sênior de soluções de nuvem
- Angelo Mazzucchi | Consultor principal
Para ver perfis de LinkedIn não públicos, entre em LinkedIn.