Overzicht van certificaatbeheer en rotatie in Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) clusters gebruiken certificaten voor verificatie tussen verschillende onderdelen, waaronder door AKS beheerde besturingsvlakonderdelen en gegevensvlakonderdelen. Dit artikel bevat een overzicht van certificaatbeheer en rotatie in AKS.

Belangrijk

Vanaf 01 april 2027 biedt Azure Kubernetes Service (AKS) geen ondersteuning meer voor de tag van de aks-disable-kubelet-serving-certificate-rotation=true knooppuntgroep om KSCR (Kubelet Serving Certificate Rotation) uit te schakelen. U kunt nieuwe knooppuntgroepen maken met behulp van deze tag, maar AKS respecteert deze niet. Dit gedrag betekent dat de knooppuntgroepen worden gemaakt met KSCR ingeschakeld. Voor bestaande knooppuntgroepen wordt KSCR automatisch ingeschakeld bij de volgende reimagebewerking. Voor deze datum kunt u uw knooppuntgroepen bijwerken met behulp van de az aks nodepool update opdracht met de aks-disable-kubelet-serving-certificate-rotation=true tag. Om u voor te bereiden op de verwijdering, moet u uw workloads bijwerken met het juiste certificaatpad. Zie het probleem met Retirement GitHub voor meer informatie. Als u op de hoogte wilt blijven van aankondigingen en updates, volg de AKS-release-opmerkingen.

Notitie

Automatische certificaatrotatie voor knooppuntclients en het leveren van certificaten is standaard ingeschakeld voor clusters die Kubernetes RBAC inschakelen.

  • AKS-clusters die vóór mei 2019 zijn gemaakt, hebben cluster-CA-certificaten die na twee jaar verlopen.
  • AKS-clusters die na mei 2019 zijn gemaakt, hebben cluster-CA-certificaten die na 30 jaar verlopen.

Wat is certificaatrotatie?

Certificaatrotatie is het proces van het vervangen van digitale certificaten door nieuwe certificaten om beveiliging te behouden en onderbrekingen te voorkomen. Het is een cruciale beveiligingspraktijk die wordt uitgevoerd om verlopen certificaten te vervangen, risico's van gecompromitteerde sleutels te beperken en te reageren op nieuwe beveiligingsvereisten. Dit proces kan betrekking hebben op het automatisch vernieuwen van certificaten of het handmatig vervangen ervan. Vaak is een gepland onderhoudsvenster vereist voor complexe vervangingen, met name wanneer een basiscertificaat betrokken is.

Certificaten, certificeringsinstanties en serviceaccounttokens in AKS

AKS genereert en gebruikt de volgende certificaten, certificeringsinstanties (CA) en serviceaccounts (SA)-tokens:

Certificate Beschrijving Rotatiemethode
certificaatautoriteit van het cluster Gemaakt door AKS namens u en is uniek voor uw cluster. Dit CA-certificaat wordt gebruikt om zowel client- als servercertificaten uit te geven aan de kubelets die worden uitgevoerd in uw gegevensvlak en het certificaat dat door de API-server wordt gebruikt. Manual
Token voor het serviceaccount JSON-webtokens (JWT) die zijn ondertekend door het ca-certificaat van het cluster. De kubelets die op uw agentknooppunten worden uitgevoerd, vragen deze tokens automatisch aan en vernieuwen deze. Zie Een pod starten met behulp van tokenprojectie van het serviceaccount voor meer informatie. Automatisch vernieuwd als onderdeel van handmatige cluster-CA-rotatie
API-servercertificaat Uitgegeven en ondertekend door het CA-certificaat van het cluster. Dit certificaat wordt gebruikt bij het tot stand brengen van op TLS gebaseerde verbindingen met de API-server, zoals met kubectl. Automatisch vernieuwd als onderdeel van handmatige cluster-CA-rotatie
Kubelet-servercertificaat In clusters waarin rotatie van het kubelet-servingcertificaat is ingeschakeld, verstrekt en ondertekent het CA-certificaat van het cluster dit certificaat. Zo niet, genereert en ondertekent het agentknooppunt dit certificaat zelf. Met dit certificaat worden TLS-verbindingen tot stand gebracht met onderdelen die verbinding moeten maken met een van de kubelet-eindpunten, zoals metrische gegevensserver. Automatisch voor clusters waarvoor rotatie van kubelet-servingcertificaten is ingeschakeld
Kubelet-clientcertificaat Uitgegeven en ondertekend door het CA-certificaat van het cluster. Dit certificaat maakt gebruik van een AKS-specifiek TLS-bootstrappingprotocol dat kubelet het clientcertificaat en de bijbehorende kubeconfig biedt voordat kubelet wordt gestart. Het AKS TLS-protocol is alleen ingeschakeld op Kubernetes-clusters versie 1.32 of hoger. Standaard automatisch vernieuwd via standaard-TLS-bootstrap en als onderdeel van handmatige rotatie van de cluster-CA
kubectl clientcertificaat Wordt gebruikt voor verificatie op basis van certificaten met de API-server. Handmatig roteren na handmatige rotatie van de cluster-CA

Notitie

AKS beheert geen certificaat dat is gemaakt voor of specifiek is voor de workload van een klant.

Certificaat automatisch roteren in AKS

AKS roteert automatisch de volgende certificaten:

  • Clusters die na maart 2022 zijn gemaakt met Kubernetes RBAC ingeschakeld , schakelen standaard automatischerotatie van kubelet-clientcertificaten in.

Notitie

Mogelijk moet u deze certificaten regelmatig handmatig roteren om beveiligings- of beleidsredenen. U hebt bijvoorbeeld een beleid om al uw certificaten elke 90 dagen te roteren. Standaard gebeurt de automatische rotatie van kubelet-clientcertificaten handmatig.

Beperkingen voor automatischerotatie van certificaten

De volgende beperkingen gelden voor automatischerotatie van certificaten:

Handmatige certificaatrotatie in AKS

U moet de volgende certificaten handmatig roteren :

Wanneer u het CA-certificaat van het cluster roteert, worden ook de volgende onderliggende certificaten vernieuwd:

  • tokens voor serviceaccounts (SA)
  • API-servercertificaten
  • Kubelet-clientcertificaten
  • Servercertificaten voor kubelet (als rotatie van kubelet-servercertificaten is ingeschakeld voor het cluster)

Nadat u het CA-certificaat van het cluster hebt vernieuwd, moet u ook de kubectl-clientcertificaten handmatig vernieuwen om ervoor te zorgen dat de toegang tot de API-server behouden blijft.

TLS bootstrapping voor het kubelet-clientcertificaat

Kubelet maakt gebruik van een AKS-specifiek TLS-opstarttrapprotocol en is afhankelijk van de identiteit van het knooppunt binnen Entra ID. Deze identiteit biedt kubelet het clientcertificaat en de bijbehorende kubeconfig voordat kubelet wordt gestart. Deze wijziging is gericht op het beveiligen van het AKS-knooppunt door de afhankelijkheid van kubelet op een statisch bootstraptokengeheim te elimineren om zichzelf te registreren bij de API-server. Als het beveiligde TLS-opstartprotocol om welke reden dan ook mislukt, kan kubelet zich nog steeds registreren bij de API-server met behulp van een bootstrap-token en wordt het knooppunt uiteindelijk gereed. U ziet aksService (in plaats van system:bootstrap:<>) als het aanvraagveld op de CSR-objecten (Certificate Signing Request) die door het protocol zijn gemaakt.

Het kubelet-clientcertificaat bevindt zich nog steeds in /var/lib/kubelet/pki/kubelet-client-current.pem op Linux-knooppunten en C:\k\pki\kubelet-client-current.pem op Windows-knooppunten. De bootstrap-kubeconfig bevindt zich nog steeds op dezelfde plek. AKS blijft dit certificaat automatisch roteren als onderdeel van het certificaatrotatieproces.

Kubelet voor certificaatrotatie

Met de rotatie van kubelet-servercertificaten kan AKS TLS-bootstrapping van de kubelet-server gebruiken voor zowel het initialiseren als het roteren van servercertificaten die door de cluster-CA worden ondertekend.

Zie Certificaten beheren en roteren in Azure Kubernetes Service (AKS) voor meer informatie.

Beperkingen van de rotatie van Kubelet-servercertificaten

  • Ondersteund op Kubernetes versie 1.27 en hoger.
  • Niet ondersteund wanneer de knooppuntgroep een momentopname van een knooppuntgroep gebruikt op basis van een knooppuntinstallatiekopie die ouder is dan 202501.12.0.
  • U kunt deze functie niet handmatig inschakelen. Bestaande knooppuntgroepen hebben kubelet voor certificaatrotatie standaard ingeschakeld nadat ze hun eerste upgrade naar kubernetes versie 1.27 of hoger hebben uitgevoerd. Voor nieuwe knooppuntgroepen in Kubernetes versie 1.27 of hoger is standaard kubelet voor certificaatrotatie ingeschakeld. Als u wilt zien of de rotatie van het kubelet-servingcertificaat is ingeschakeld in uw regio, raadpleegt u AKS Releases.
  • Kubernetes RBAC moet zijn ingeschakeld op het cluster om kubelet-certificaatrotatie in te schakelen. Als u een bestaand cluster hebt, moet u dat cluster upgraden om Kubernetes RBAC in te schakelen.

Volgende stap