Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os clusters do Azure Kubernetes Service (AKS) utilizam certificados para autenticação entre vários componentes, incluindo componentes do plano de controlo gerido do AKS e componentes do plano de dados. Este artigo oferece uma visão geral da gestão e rotação de certificados no AKS.
Importante
A partir de 01 de abril de 2027, o Azure Kubernetes Service (AKS) deixará de suportar a etiqueta aks-disable-kubelet-serving-certificate-rotation=true do conjunto de nós para desativar a Rotação do Certificado de Serviço do Kubelet (KSCR). Podes criar novos conjuntos de nós usando esta tag, mas o AKS não a respeita. Este comportamento significa que os agrupamentos de nós serão criados com o KSCR ativado. Para pools de nós existentes, o KSCR será ativado automaticamente na próxima operação de reimageação. Antes desta data, pode atualizar os seus conjuntos de nós usando o comando az aks nodepool update com a tag aks-disable-kubelet-serving-certificate-rotation=true. Para te preparares para a remoção, deves atualizar as tuas cargas de trabalho com o caminho de certificação correto. Para mais informações, consulte a issue do GitHub sobre a Retirada. Para se manter informado sobre anúncios e atualizações, siga as notas de lançamento do AKS.
Nota
A autorrotação de certificados para clientes de nó e certificados de serviço está ativada por defeito para clusters que ativam Kubernetes RBAC.
- Os clusters AKS criados antes de maio de 2019 têm certificados de CA de cluster que expiram após dois anos.
- Os clusters AKS criados após maio de 2019 têm certificados de CA de cluster que expiram após 30 anos.
O que é rotação de certificados?
A rotação de certificados é o processo de substituir certificados digitais por novos para manter a segurança e prevenir perturbações. É uma prática de segurança crucial realizada para substituir certificados expirados, mitigar riscos de chaves comprometidas e responder a novos requisitos de segurança. Este processo pode envolver a renovação automática dos certificados ou a sua substituição manual. Muitas vezes, é necessária uma janela de manutenção programada para substituições complexas, especialmente quando está em causa um certificado de raiz.
Certificados, autoridades certificadoras e tokens de contas de serviço no AKS
O AKS gera e utiliza os seguintes certificados, autoridades certificadoras (CA) e tokens de contas de serviço (SA):
| Certificate | Descrição | Método de rotação |
|---|---|---|
| Autoridade certificadora de cluster | Criado pela AKS em teu nome e é único para o teu cluster. Este certificado CA é usado para emitir certificados de cliente e servidor para os kubelets que correm no seu plano de dados e para o certificado usado pelo servidor API. | Manual |
| Token da conta de serviço | JSON Web Tokens (JWT) assinados pelo certificado da CA do cluster. Os kubelets que correm nos teus nós de agente solicitam e renovam automaticamente estes tokens. Para mais informações, consulte Lançar um Pod usando projeção de token de conta de serviço. | Atualizado automaticamente no âmbito da rotação manual da CA do cluster |
| Certificado do servidor API | Assinados e emitidos pelo certificado de CA do cluster. Este certificado é utilizado sempre que se estabelecem ligações baseadas em TLS com o servidor API, como com kubectl. |
Atualizado automaticamente no âmbito da rotação manual da CA do cluster |
| Certificado de servidor do Kubelet | Em clusters que permitem o kubelet servir a rotação de certificados, o certificado da CA do cluster emite e assina este certificado. Caso contrário, o nó agente gera e autoassina este certificado. Este certificado estabelece ligações baseadas em TLS com componentes que precisam de se ligar a qualquer um dos endpoints de serviço kubelet, como o servidor de métricas. | Automático em clusters com a rotação do certificado de serviço do kubelet ativada |
| Certificado de cliente Kubelet | Assinados e emitidos pelo certificado de CA do cluster. Este certificado utiliza um protocolo de arranque TLS específico para AKS que fornece ao kubelet o seu certificado de cliente e o kubeconfig correspondente antes do início do kubelet. O protocolo AKS TLS está ativado apenas em clusters Kubernetes versão 1.32 ou superior. | Atualizada automaticamente por defeito através da inicialização TLS padrão e como parte da rotação manual da AC do cluster |
kubectl Certificado de Cliente |
Usado para autenticação baseada em certificados com o servidor API. | Rodar manualmente após a rotação manual do CA do cluster |
Nota
O AKS não gere nenhum certificado criado para ou específico para a carga de trabalho de um cliente.
Rotação automática de certificados no AKS
O AKS faz automaticamente a rotação dos seguintes certificados:
- Clusters criados depois de março de 2022 com o RBAC do Kubernetes ativado ativam por predefinição a rotação automática do certificado de cliente do kubelet.
Nota
Pode ser necessário rodar periodicamente estes certificados manualmente por razões de segurança ou políticas. Por exemplo, você pode ter uma política para alternar todos os seus certificados a cada 90 dias. Por defeito, a autorrotação dos certificados do cliente kubelet ocorre manualmente.
Limitações da rotação automática de certificados
As seguintes limitações aplicam-se à autorrotação de certificados:
- O cluster deve usar o bootstrapping TLS vanilla ou o bootstrapping TLS seguro do AKS, que é implementado por defeito para todas as regiões do Azure.
- Para clusters existentes, é necessário atualizar o cluster para permitir a autorrotação de certificados.
Rotação manual de certificados no AKS
Deve efetuar manualmente a rotação dos seguintes certificados:
- Certificados de CA de cluster com o
az aks rotate-certs. -
kubectlcertificados do cliente usando oaz aks get-credentialscomando (após a rotação manual do certificado da CA do cluster).
Quando efetua a rotação do certificado da AC do cluster, os seguintes certificados subordinados também são atualizados:
- Tokens da conta de serviço (SA)
- Certificados de servidor API
- Certificados de cliente Kubelet
- Certificados de servidor Kubelet (se a rotação de certificados de serviço Kubelet estiver ativada no cluster)
Depois de renovar o certificado da AC do cluster, tem também de renovar manualmente os certificados de cliente kubectl para garantir o acesso contínuo ao servidor da API.
Inicialização TLS do certificado de cliente do kubelet
O Kubelet utiliza um protocolo de inicialização TLS específico do AKS e baseia-se na identidade do nó no Entra ID. Esta identidade fornece ao kubelet o seu certificado de cliente e o kubeconfig correspondente antes do início do kubelet. Esta alteração visa reforçar o perfil de segurança dos nós do AKS, eliminando a dependência do kubelet de um segredo de token de bootstrap estático para se registar junto do servidor da API. Se o protocolo de arranque TLS seguro falhar por qualquer motivo, o kubelet ainda pode registar-se no servidor API usando um token bootstrap, e o nó acaba por ficar pronto. Vê aksService (em vez de system:bootstrap:<>) como o campo requerente nos objetos de pedido de assinatura de certificados (CSR) criados pelo protocolo.
O certificado cliente kubelet continua localizado em /var/lib/kubelet/pki/kubelet-client-current.pem nos nós Linux e C:\k\pki\kubelet-client-current.pem nos nós Windows. O bootstrap-kubeconfig continua localizado no mesmo local. A AKS continua a rodar automaticamente este certificado como parte do seu processo de rotação de certificados.
Rotação de certificados de serviço Kubelet
A rotação dos certificados de servidor do kubelet permite ao AKS utilizar a inicialização TLS do servidor do kubelet tanto para a inicialização como para a rotação dos certificados de servidor assinados pela AC do cluster.
Para mais informações, consulte Gerir e rodar certificados no Azure Kubernetes Service (AKS).
Limitações da rotação do certificado de serviço do Kubelet
- Suportado no Kubernetes versão 1.27 e superior.
- Não há suporte quando o pool de nós está usando um instantâneo do pool de nós com base em qualquer imagem de nó anterior a
202501.12.0. - Não podes ativar esta funcionalidade manualmente. Os conjuntos de nós existentes têm a rotação do certificado de serviço do kubelet ativada por predefinição após efetuarem a sua primeira atualização para qualquer versão do Kubernetes igual ou superior à 1.27. Os novos conjuntos de nós em clusters Kubernetes com a versão 1.27 ou superior têm a rotação do certificado de serviço do kubelet ativada por defeito. Para ver se a rotação de certificados de serviço do kubelet está ativada na sua região, consulte AKS Releases.
- O RBAC do Kubernetes tem de estar ativado no cluster para que a rotação do certificado de serviço do kubelet possa ser ativada. Se tiver um cluster existente, deve atualizar esse cluster para ativar o RBAC do Kubernetes.