Omówienie zarządzania certyfikatami i rotacji w Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) klastry używają certyfikatów do uwierzytelniania między różnymi składnikami, w tym składnikami zarządzanej płaszczyzny sterowania usługi AKS i składnikami płaszczyzny danych. Ten artykuł zawiera omówienie zarządzania certyfikatami i rotacji w usłudze AKS.

Ważne

Od 01 kwietnia 2027 r. usługa Azure Kubernetes Service (AKS) nie obsługuje już tagu puli węzłów aks-disable-kubelet-serving-certificate-rotation=true, służącego do wyłączania rotacji certyfikatów serwera Kubelet (KSCR). Możesz utworzyć nowe pule węzłów przy użyciu tego tagu, ale usługa AKS nie będzie go respektowała. To zachowanie oznacza, że pule węzłów zostaną utworzone z włączoną funkcją KSCR. W przypadku istniejących pul węzłów usługa KSCR zostanie automatycznie włączona podczas następnej operacji ponownego obrazowania. Przed tą datą możesz zaktualizować pule węzłów za pomocą polecenia az aks nodepool update ze znacznikiem aks-disable-kubelet-serving-certificate-rotation=true. Aby przygotować się na usunięcie, należy zaktualizować zasoby przy użyciu poprawnej ścieżki certyfikatu. Aby uzyskać więcej informacji, zobacz Zgłoszenie dotyczące wycofania na GitHubie. Aby być na bieżąco z ogłoszeniami i aktualizacjami, śledź notatki o wydaniu AKS.

Uwaga / Notatka

Automatyczna rotacja certyfikatów klienckich węzłów i certyfikatów serwera jest domyślnie włączona w klastrach z włączonym mechanizmem RBAC platformy Kubernetes.

  • Klastry AKS utworzone przed majem 2019 roku mają certyfikaty urzędu certyfikacji (CA) klastra, które wygasają po dwóch latach.
  • Klastry usługi AKS utworzone po maju 2019 r. mają certyfikaty urzędu certyfikacji (CA) klastra, które wygasają po 30 latach.

Co to jest rotacja certyfikatów?

Rotacja certyfikatów to proces zastępowania certyfikatów cyfrowych nowymi certyfikatami w celu utrzymania bezpieczeństwa i zapobiegania zakłóceniom. Jest to kluczowa praktyka zabezpieczeń wykonywana w celu zastąpienia wygasłych certyfikatów, ograniczenia ryzyka związanego z naruszonymi kluczami i reagowania na nowe wymagania dotyczące zabezpieczeń. Ten proces może obejmować automatyczne odnawianie certyfikatów lub ręczne ich zastępowanie. Często wymaga to zaplanowanego okna konserwacyjnego dla złożonych wymian, zwłaszcza gdy w grę wchodzi certyfikat główny.

Certyfikaty, urzędy certyfikacji i tokeny kont usług w AKS

Usługa AKS generuje i używa następujących certyfikatów, urzędów certyfikacji i tokenów kont usług (SA):

Certificate Description Metoda rotacji
Urząd certyfikacji klastra Utworzona przez AKS w Twoim imieniu i unikalna dla Twojego klastra. Ten certyfikat urzędu certyfikacji służy do wystawiania zarówno certyfikatów klienta, jak i serwera dla kubeletów działających w warstwie danych oraz certyfikatu używanego przez serwer API. Manual
Token konta usługi Tokeny JWT podpisane certyfikatem CA klastra. Narzędzie kubelets uruchomione w węzłach agenta automatycznie żąda i odnawia te tokeny. Aby uzyskać więcej informacji, zobacz Uruchamianie Poda z użyciem projekcji tokenu konta serwisowego. Automatycznie odświeżane w ramach ręcznej rotacji CA klastra
Certyfikat serwera interfejsu API Podpisany i wydany przy użyciu certyfikatu CA klastra. Ten certyfikat jest używany zawsze podczas nawiązywania połączeń TLS z serwerem API, na przykład za pomocą kubectl. Automatycznie odświeżane w ramach ręcznej rotacji CA klastra
Certyfikat serwera Kubelet W klastrach, które umożliwiają rotację certyfikatu serwera kubelet, certyfikat ten jest wydawany i podpisywany przez certyfikat urzędu certyfikacji (CA) klastra. W przeciwnym razie węzeł agenta generuje i samodzielnie podpisuje ten certyfikat. Ten certyfikat ustanawia połączenia TLS dla składników, które muszą łączyć się z dowolnym z punktów końcowych usługi kubelet, takich jak metrics-server. Automatyczne dla klastrów z włączoną funkcją rotacji certyfikatów obsługujących usługę kubelet
Certyfikat klienta kubelet Podpisany i wydany przy użyciu certyfikatu CA klastra. Ten certyfikat używa specyficznego dla AKS protokołu inicjowania TLS, który zapewnia kubeletowi certyfikat klienta i odpowiadający mu plik kubeconfig, zanim kubelet zostanie uruchomiony. Protokół TLS usługi AKS jest włączony tylko w klastrach Kubernetes w wersji 1.32 lub nowszej. Domyślnie odświeżane automatycznie przy użyciu standardowej inicjalizacji TLS oraz w ramach ręcznej rotacji urzędu certyfikacji klastra
kubectl certyfikat klienta Służy do uwierzytelniania opartego na certyfikatach z serwerem interfejsu API. Ręczna rotacja po ręcznej rotacji urzędu certyfikacji klastra

Uwaga / Notatka

Usługa AKS nie zarządza żadnymi certyfikatami utworzonymi dla obciążeń klienta ani certyfikatami specyficznymi dla tych obciążeń.

Automatyczna rotacja certyfikatów w usłudze AKS

Usługa AKS automatycznie odnawia następujące certyfikaty:

  • Klastry utworzone po marcu 2022 r. z włączoną funkcją RBAC platformy Kubernetes domyślnie włączają autorotację certyfikatu klienta kubelet.

Uwaga / Notatka

Ze względów bezpieczeństwa lub zasad może być konieczne okresowe ręczne obracanie tych certyfikatów. Na przykład możesz mieć zasady rotacji wszystkich certyfikatów co 90 dni. Domyślnie autorotacja certyfikatu klienta kubelet odbywa się ręcznie.

Ograniczenia automatycznego odnawiania certyfikatów

Następujące ograniczenia dotyczą automatycznej rotacji certyfikatów:

Ręczna rotacja certyfikatów w usłudze AKS

Należy ręcznie obrócić następujące certyfikaty:

Po obróceniu certyfikatu CA klastra następujące certyfikaty podrzędne również zostają odnowione:

  • Tokeny konta usługi (SA)
  • Certyfikaty serwera interfejsu API
  • Certyfikaty klienta kubelet
  • Certyfikaty serwera Kubelet (jeśli rotacja certyfikatów usługi Kubelet jest włączona w klastrze)

Po zmianie certyfikatu CA klastra należy również ręcznie odnowić kubectl certyfikaty klienta, aby zapewnić ciągły dostęp do serwera API.

Inicjalizacja TLS dla certyfikatu klienta kubeletu

Kubelet używa specyficznego dla AKS protokołu inicjalizacji TLS i polega na tożsamości węzła w usłudze Entra ID. Ta tożsamość zapewnia kubeletowi certyfikat klienta i odpowiadający mu plik kubeconfig, zanim kubelet zostanie uruchomiony. Ta zmiana ma na celu wzmocnienie stanu zabezpieczeń węzłów AKS przez wyeliminowanie zależności kubeleta od statycznego sekretu tokenu bootstrap przy rejestrowaniu się w serwerze API. Jeśli protokół bezpiecznego inicjowania TLS z jakiegokolwiek powodu nie powiedzie się, kubelet nadal może zarejestrować się w serwerze API przy użyciu tokenu bootstrapującego, a węzeł ostatecznie uzyska stan gotowości. W obiektach żądania podpisania certyfikatu (CSR) utworzonych przez protokół zobaczysz aksService (zamiast system:bootstrap:<>) jako pole żądającego.

Certyfikat klienta kubelet nadal znajduje się w folderze /var/lib/kubelet/pki/kubelet-client-current.pem w węzłach systemu Linux i C:\k\pki\kubelet-client-current.pem w węzłach Windows. Bootstrap-kubeconfig nadal znajduje się w tym samym miejscu. AKS nadal automatycznie odnawia ten certyfikat w ramach procesu rotacji certyfikatów.

Rotacja certyfikatów serwera Kubelet

Rotacja certyfikatów serwera kubelet umożliwia usłudze AKS korzystanie z mechanizmu inicjowania serwera kubelet przy użyciu protokołu TLS zarówno do inicjowania, jak i rotacji certyfikatów serwera podpisywanych przez urząd certyfikacji klastra.

Aby uzyskać więcej informacji, zobacz Zarządzanie certyfikatami i obracanie ich w Azure Kubernetes Service (AKS).

Ograniczenia rotacji certyfikatów usługi Kubelet

  • Obsługiwane na platformie Kubernetes w wersji 1.27 lub nowszej.
  • Nie jest obsługiwane, gdy pula węzłów używa migawki puli węzłów na podstawie dowolnego obrazu węzła starszego niż 202501.12.0.
  • Nie można ręcznie włączyć tej funkcji. W istniejących pulach węzłów rotacja certyfikatów serwera kubelet jest domyślnie włączana po pierwszym uaktualnieniu do dowolnej wersji Kubernetes 1.27 lub nowszej. Nowe pule węzłów na platformie Kubernetes w wersji 1.27 lub nowszej mają domyślnie włączoną rotację certyfikatów obsługujących usługę kubelet. Aby sprawdzić, czy rotacja certyfikatów usługi Kubelet jest włączona w Twoim regionie, zobacz Wydania usługi AKS.
  • Aby można było włączyć rotację certyfikatów usługowych kubeletu, w klastrze musi być włączony mechanizm RBAC w Kubernetes. Jeśli masz istniejący klaster, musisz zaktualizować ten klaster, aby włączyć mechanizm RBAC w Kubernetes.

Następny krok