Compartilhar via


Início Confiável para o Serviço de Kubernetes do Azure (AKS)

O Início Confiável melhora a segurança de máquinas virtuais (VMs) de geração 2, fornecendo proteção contra técnicas de ataque avançadas e persistentes. Com ele, os administradores podem implantar nós do AKS, que contêm as máquinas virtuais subjacentes, com carregadores de inicialização verificados e assinados, kernels do sistema operacional e drivers. Usando a inicialização segura e medida, os administradores obtêm insights e confiança da integridade de toda a cadeia de inicialização.

Este artigo irá ajudar você a entender esse novo recurso e como implementá-lo.

Importante

A partir de 30 de novembro de 2025, o AKS (Serviço de Kubernetes do Azure) não dá mais suporte ou fornece atualizações de segurança para o Azure Linux 2.0. A imagem do nó do Azure no Linux 2.0 está congelada na versão 202512.06.0. A partir de 31 de março de 2026, as imagens de nó serão removidas e não será possível escalar os grupos de nós. Migre para uma versão do Azure Linux com suporte atualizando os pools de nós para uma versão do Kubernetes com suporte ou migrando para o osSku AzureLinux3. Para obter mais informações, consulte [Desativação] Pools de nós do Azure Linux 2.0 no AKS.

Visão geral

O Início Confiável é composto por várias tecnologias de infraestrutura coordenadas que podem ser habilitadas de forma independente. Cada tecnologia fornece mais uma camada de defesa contra ameaças sofisticadas.

  • vTPM – o Início Confiável apresenta uma versão virtualizada de um Trusted Platform Module (TPM) de hardware, em conformidade com a especificação TPM 2.0. Ele serve como um cofre seguro dedicado para chaves e medidas. O Início Confiável fornece à VM sua própria instância dedicada do TPM, em execução em um ambiente seguro fora do alcance de qualquer VM. O vTPM habilita o atestado medindo toda a cadeia de inicialização da sua VM (UEFI, SO, sistema e drivers). O Início Confiável usa o vTPM para executar o atestado remoto pela nuvem. Ele é usado para verificações de integridade da plataforma e para tomar decisões baseadas em confiança. Como uma verificação de integridade, o Início Confiável pode certificar criptograficamente que sua VM foi inicializada corretamente. Em caso de falha do processo, possivelmente porque sua VM está executando um componente não autorizado, o Microsoft Defender para Nuvem emite alertas de integridade. Os alertas incluem detalhes sobre quais componentes não passaram nas verificações de integridade.

  • Início Confiável — na raiz do Início Confiável está a Inicialização Segura para a sua VM. Esse modo, que é implementado no firmware da plataforma, protege contra a instalação de rootkits baseados em malware e kits de inicialização. A Inicialização Segura funciona para garantir que apenas sistemas operacionais e drivers assinados possam ser inicializados. Ela estabelece uma "raiz de confiança" para a pilha de software da VM. Com a Inicialização Segura habilitada, todos os componentes de inicialização do sistema operacional (carregador de inicialização, kernel, drivers de kernel) devem ser assinados por fornecedores confiáveis. O Windows e algumas distribuições do Linux oferecem suporte à Inicialização Segura. Se a inicialização segura não conseguir autenticar uma imagem assinada por um fornecedor confiável, a VM não poderá ser inicializada. Para saber mais, confira Inicialização Segura.

Antes de começar

  • A CLI do Azure versão 2.66.0 ou posterior. Execute az --version para localizar a versão e az upgrade para atualizar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.
  • A inicialização segura exige carregadores de inicialização, kernels do sistema operacional e drivers assinados.

Limitações

Criar um cluster do AKS com o Início Confiável habilitado

Ao criar um cluster, habilitar o vTPM ou a Inicialização Segura configura automaticamente os pools de nós para usar a imagem de Início Confiável personalizada. Essa imagem é configurada especificamente para dar suporte aos recursos de segurança habilitados pelo Trusted Launch.

  1. Crie um cluster do AKS usando o comando az aks create. Antes de executar o comando, revise os seguintes parâmetros:

    • --name: insira um nome exclusivo para o cluster do AKS, como myAKSCluster.
    • --resource-group: insira o nome de um grupo de recursos existente para hospedar o recurso de cluster do AKS.
    • --enable-secure-boot: permite que a inicialização segura autentique uma imagem assinada por um fornecedor confiável.
    • --enable-vtpm: habilita o vTPM e executa o atestado, medindo toda a cadeia de inicialização da VM.

    Observação

    A inicialização segura exige carregadores de inicialização, kernels do sistema operacional e drivers assinados. Se depois que você habilitar a inicialização segura, seus nós não forem iniciados, você poderá verificar quais componentes de inicialização são responsáveis por falhas da inicialização segura em uma Máquina Virtual do Azure Linux. Confira Verificar falhas da inicialização segura.

    O seguinte exemplo cria um cluster chamado myAKSCluster com um nó em myResourceGroup e habilita a inicialização segura e o vTPM:

    az aks create \
        --name myAKSCluster \
        --resource-group myResourceGroup \
        --node-count 1 \
        --enable-secure-boot \
        --enable-vtpm \
        --generate-ssh-keys
    
  2. Execute o comando a seguir para obter credenciais de acesso para o cluster do Kubernetes. Use o comando az aks get-credentials e substitua os valores pelo nome do cluster e o nome do grupo de recursos.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  1. Crie um modelo com parâmetros de Início Confiável. Antes de criar o modelo, examine os seguintes parâmetros:

    • enableSecureBoot: permite que a Inicialização Segura autentique uma imagem assinada por um editor confiável.
    • enableVTPM: habilita o vTPM e executa o atestado medindo toda a cadeia de inicialização da VM.

    Em seu modelo, forneça valores para enableVTPM e enableSecureBoot. O mesmo esquema usado para implantação da CLI existe na definição Microsoft.ContainerService/managedClusters/agentPools abaixo de "properties", conforme mostrado no exemplo a seguir:

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  2. Implante o seu modelo com o vTPM e a inicialização segura habilitados no cluster. Confira Implantar um cluster do AKS usando um modelo do ARM para obter instruções detalhadas.

Adicionar um pool de nós com o Início Confiável habilitado

Quando você cria um pool de nós, habilitar o vTPM ou a Inicialização Segura configura automaticamente os pools de nós para usar a imagem de Início Confiável personalizada. Essa imagem é configurada especificamente para dar suporte aos recursos de segurança habilitados pelo Trusted Launch.

  1. Adicione um pool de nós com o Início ConfiIável habilitado usando o comando az aks nodepool add. Antes de executar o comando, revise os seguintes parâmetros:

    • --cluster-name: insira o nome do cluster do AKS.
    • --resource-group: insira o nome de um grupo de recursos existente para hospedar o recurso de cluster do AKS.
    • --name: insira um nome exclusivo para o pool de nós. O nome de um pool de nós só pode conter caracteres alfanuméricos minúsculos e deve começar com uma letra minúscula. Nos pools de nós do Linux, o comprimento deve estar entre 1 e 11 caracteres.
    • --node-count: o número de nós do pool de agentes do Kubernetes. O padrão é 3.
    • --enable-secure-boot: permite que a inicialização segura autentique a imagem assinada por um fornecedor confiável.
    • --enable-vtpm: habilita o vTPM e executa o atestado, medindo toda a cadeia de inicialização da VM.

    Observação

    A inicialização segura exige carregadores de inicialização, kernels do sistema operacional e drivers assinados. Se depois que você habilitar a inicialização segura, seus nós não forem iniciados, você poderá verificar quais componentes de inicialização são responsáveis por falhas da inicialização segura em uma Máquina Virtual do Azure Linux. Confira Verificar falhas da inicialização segura.

    O seguinte exemplo implanta um pool de nós com a inicialização segura e o vTPM habilitados em um cluster chamado myAKSCluster com três nós:

    az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot
    
  2. Verifique se o pool de nós está usando uma imagem de Início Confiável.

    Os nós de Início Confiável têm a seguinte saída:

    • Versão da imagem do nó que contém "TL", como "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" deve ser "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    
  1. Crie um modelo com parâmetros de Início Confiável. Antes de criar o modelo, examine os seguintes parâmetros:

    • enableSecureBoot: permite que a Inicialização Segura autentique uma imagem assinada por um editor confiável.
    • enableVTPM: habilita o vTPM e executa o atestado medindo toda a cadeia de inicialização da VM.

    Em seu modelo, forneça valores para enableVTPM e enableSecureBoot. O mesmo esquema usado para implantação da CLI existe na definição Microsoft.ContainerService/managedClusters/agentPools abaixo de "properties", conforme mostrado no exemplo a seguir:

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  2. Implante o seu modelo com o vTPM e a inicialização segura habilitados no cluster. Confira Implantar um cluster do AKS usando um modelo do ARM para obter instruções detalhadas.

Habilitar o vTPM ou a inicialização segura em um pool de nós de Início Confiável existente

Você pode atualizar um pool de nós de Início Confiável existente para habilitar o vTPM ou a inicialização segura. Os cenários a seguir têm suporte:

  • Ao criar um pool de nós, você só especifica --enable-secure-boot, você pode executar o comando de atualização para --enable-vtpm
  • Ao criar um pool de nós, você só especifica --enable-vtpm, você pode executar o comando de atualização para --enable-secure-boot

Se o pool de nós não tiver uma imagem de Início Confiável no momento, você não poderá atualizar o pool de nós para habilitar a inicialização segura ou o vTPM.

  1. Verifique se o pool de nós está usando uma imagem de Início Confiável.

    Os nós de Início Confiável têm a seguinte saída:

    • Versão da imagem do nó que contém "TL", como "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" deve ser "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    

    Se o pool de nós não tiver uma imagem de Início Confiável no momento, você não poderá atualizar o pool de nós para habilitar a inicialização segura ou o vTPM.

  2. Atualize um pool de nós com o Início Confiável habilitado usando o comando az aks nodepool update. Antes de executar o comando, revise os seguintes parâmetros:

    • --resource-group: insira o nome de um grupo de recursos existente que hospeda o cluster do AKS existente.
    • --cluster-name: insira um nome exclusivo para o cluster do AKS, como myAKSCluster.
    • --name: insira o nome do pool de nós, como mynodepool.
    • --enable-secure-boot: permite que a inicialização segura autentique que a imagem foi assinada por um fornecedor confiável.
    • --enable-vtpm: habilita o vTPM e executa o atestado, medindo toda a cadeia de inicialização da VM.

    Observação

    A inicialização segura exige carregadores de inicialização, kernels do sistema operacional e drivers assinados. Se depois que você habilitar a inicialização segura, seus nós não forem iniciados, você poderá verificar quais componentes de inicialização são responsáveis por falhas da inicialização segura em uma Máquina Virtual do Azure Linux. Confira Verificar falhas da inicialização segura.

    O exemplo a seguir atualiza o mynodepool do pool de nós no myAKSCluster no myResourceGroup e habilita o vTPM. Nesse cenário, a inicialização segura foi habilitada durante a criação do pool de nós:

    az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-vtpm 
    

    O exemplo a seguir atualiza o mynodepool do pool de nós no myAKSCluster no myResourceGroup e habilita a inicialização segura. Nesse cenário, o vTPM foi habilitado durante a criação do pool de nós:

    az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot
    
  1. Verifique se o pool de nós está usando uma imagem de Início Confiável.

    Os nós de Início Confiável têm a seguinte saída:

    • Versão da imagem do nó que contém "TL", como "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" deve ser "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    

    Se o pool de nós não tiver uma imagem de Início Confiável no momento, você não poderá atualizar o pool de nós para habilitar a inicialização segura ou o vTPM.

  2. Crie um modelo com parâmetros de Início Confiável. Antes de criar o modelo, examine os seguintes parâmetros:

    • enableSecureBoot: permite que a Inicialização Segura autentique uma imagem assinada por um editor confiável.
    • enableVTPM: habilita o vTPM e executa o atestado medindo toda a cadeia de inicialização da VM.

    Em seu modelo, forneça valores para enableVTPM e enableSecureBoot. O mesmo esquema usado para implantação da CLI existe na definição Microsoft.ContainerService/managedClusters/agentPools abaixo de "properties", conforme mostrado no exemplo a seguir:

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  3. Implante o seu modelo com o vTPM e a inicialização segura habilitados no cluster. Confira Implantar um cluster do AKS usando um modelo do ARM para obter instruções detalhadas.

Atribuir pods a nós com o Início Confiável habilitado

Você pode restringir um pod e restringi-lo a ser executado em um nó ou nós específicos ou dar preferência a nós com o Início Confiável habilitado. Controle isso usando o seletor de pool de nós a seguir no manifesto do pod.

spec:
  nodeSelector:
        kubernetes.azure.com/security-type = "TrustedLaunch"

Desabilitar o vTPM ou a inicialização segura em um pool de nós de Início Confiável existente

Você pode atualizar um pool de nós existente para desabilitar o vTPM ou a inicialização segura. Quando isso ocorrer, você ainda permanecerá na imagem de Início Confiável. Você pode reabilitar o vTPM ou a inicialização segura a qualquer momento atualizando o pool de nós.

Atualize um pool de nós para desabilitar a inicialização segura ou o vTPM usando o comando az aks nodepool update. Antes de executar o comando, revise os seguintes parâmetros:

  • --resource-group: insira o nome de um grupo de recursos existente que hospeda o cluster do AKS existente.
  • --cluster-name: insira um nome exclusivo para o cluster do AKS, como myAKSCluster.
  • --name: insira o nome do pool de nós, como mynodepool.
  • --enable-secure-boot: permite que a inicialização segura autentique que a imagem foi assinada por um fornecedor confiável.
  • --enable-vtpm: habilita o vTPM e executa o atestado, medindo toda a cadeia de inicialização da VM.

Para desabilitar o vTPM em um pool de nós existente:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm

Para desabilitar a inicialização segura em um pool de nós existente:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot 
  1. Crie um modelo com parâmetros de Início Confiável. Antes de criar o modelo, examine os seguintes parâmetros:

    • enableSecureBoot: permite que a Inicialização Segura autentique uma imagem assinada por um editor confiável.
    • enableVTPM: habilita o vTPM e executa o atestado medindo toda a cadeia de inicialização da VM.

    Em seu modelo, forneça valores para enableVTPM e enableSecureBoot. O mesmo esquema usado para implantação da CLI existe na definição Microsoft.ContainerService/managedClusters/agentPools abaixo de "properties", conforme mostrado no exemplo a seguir:

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "false",
            "enableSecureBoot": "false",
        }
    }
    
  2. Implante o seu modelo com o vTPM e a inicialização segura desabilitada em seu cluster. Confira Implantar um cluster do AKS usando um modelo do ARM para obter instruções detalhadas.

Próximas etapas

Neste artigo, você aprendeu a habilitar o Início Confiável. Saiba mais sobre Início Confiável.