Atualizar funções personalizadas do Azure para bootstrap de certificados de nós externos

A partir de 30 de novembro de 2026, o Azure Kubernetes Service (AKS) requer um DataAction dedicado de controlo de acesso baseado em funções Azure (Azure RBAC) para autorizar a emissão de certificados de cliente kubelet.

Importante

Atualize as funções personalizadas do Azure afetadas antes de 30 de novembro de 2026. Caso contrário, novos nós externos podem falhar em entrar no cluster AKS, e nós externos existentes podem falhar em renovar os seus certificados de cliente kubelet.

Este requisito aplica-se a funções personalizadas do Azure usadas para bootstrap de nó externo ou renovação de certificados de cliente kubelet, incluindo integrações AKS Stretch. Não se espera que os nós geridos pelo AKS sejam afetados.

Anteriormente, a DataAction mais ampla certificatesigningrequests/write também autorizava a emissão de certificados de cliente do kubelet. O AKS está a separar estas permissões para ajudar a impedir que as entidades de segurança com acesso de escrita a pedidos gerais de assinatura de certificados obtenham certificados que as autentiquem como nós do Kubernetes.

Determinar se uma função personalizada é afetada

Uma função personalizada é afetada se for usada para uma das seguintes operações:

  • Arranque do nó externo.
  • Renovação do certificado de cliente Kubelet para um nó externo.

Se uma função personalizada for usada apenas para operações gerais de pedidos de assinatura de certificados, não precisa de adicionar a nova permissão.

Revise os IDs de função na sua notificação do Azure Service Health ou no inventário de funções e determine como cada função é utilizada. Manter as permissões existentes de pedido de assinatura de certificado (CSR) e descoberta da API de cada função afetada.

Adicionar o DataAction necessário

Adicione o DataAction que corresponde ao endpoint de recurso usado pela sua integração:

Ponto de extremidade do recurso DataAction Requerido
Cluster gerenciado Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/nodeclient/action
Hub da frota Microsoft.ContainerService/fleets/certificates.k8s.io/certificatesigningrequests/nodeclient/action
Membro da frota Microsoft.ContainerService/fleets/members/certificates.k8s.io/certificatesigningrequests/nodeclient/action
Gestor de IA Microsoft.ContainerService/aiManagers/certificates.k8s.io/certificatesigningrequests/nodeclient/action

Por exemplo, uma função personalizada usada para arranque de nó externo através de um endpoint de cluster gerido inclui as seguintes permissões:

{
  "DataActions": [
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete",
    "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read",
    "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/nodeclient/action"
  ]
}

Para acesso ao Fleet hub, Fleet member ou AI Manager, utilize o caminho de recursos correspondente da tabela anterior.

Para atualizar uma função afetada:

  1. Recuperar a definição atual da função.
  2. Adicione a permissão aplicável certificatesigningrequests/nodeclient/action à propriedade DataActions da função.
  3. Confirme que todos os pedidos de assinatura de certificados e permissões de descoberta de API existentes permanecem inalterados.
  4. Atualize a definição de função personalizada.
  5. Dê tempo para que a atualização do RBAC do Azure se propague.

Validar a atualização da função

Depois de atualizar uma função personalizada afetada:

  1. Recupere a definição de função e confirme que a permissão aplicável certificatesigningrequests/nodeclient/action aparece em DataActions.
  2. Confirme que todos os pedidos de assinatura de certificados e permissões de descoberta de API existentes permanecem inalterados.
  3. Num ambiente de teste, realize um teste de bootstrap de ponta a ponta com nó externo e confirme que o nó atinge o estado Ready.
  4. Para uma integração existente, verifique se o certificado do cliente kubelet pode ser renovado com sucesso através do seu processo normal de validação.

Espere aproximadamente uma hora para o teste de bootstrap de nó externo de ponta a ponta. O tempo total necessário pode variar consoante o processo de gestão da mudança da sua organização e o número de funções a serem atualizadas.

Passos seguintes