Dela via


Anvisningar: Använda Key Manager för Kubernetes i ett AKS Edge Essentials-kluster (förhandsversion)

Kubernetes-tjänstkontot är ett icke-mänskligt konto som tillhandahåller en unik identitet i ett Kubernetes-kluster. Tjänstkontotoken hanterar viktiga säkerhets- och autentiseringsfunktioner i Kubernetes.

I AKS Edge Essentials möjliggör tjänstkontotoken för arbetsbelastningspoddar att autentisera och komma åt Azure-resurser via arbetsbelastningsidentitetsfederation. Key Manager för Kubernetes är ett Azure Arc-tillägg som automatiserar rotationen av den signeringsnyckel som används för att utfärda dessa tjänstkontotoken. Rotationen minskar risken för tokenmissbruk och förbättrar klustrets övergripande säkerhetsstatus.

I följande tabell jämförs standardbeteendet med och utan att använda Key Manager för Kubernetes-tillägget:

Uppförande Som standard utan Key Manager-tillägget Med *Key Manager*-tillägget
Automatiserad nyckelrotation för tjänstkonto Som standard roterar Kubernetes inte automatiskt signeringsnycklar för tjänstkonton. I stället använder den samma nyckel på obestämd tid för att signera tokener. När den är aktiverad roteras signeringsnyckeln för tjänstkontot automatiskt var 45:e dag.
Giltighet för signeringsnyckel för tjänstkonto Obegränsad 90 dagar

Viktig

De här förhandsversionsfunktionerna är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. Förhandsversioner av Azure Kubernetes Service Edge Essentials omfattas delvis av kundsupport på bästa sätt.

Notera

Under förhandsgranskningen är Key Manager för Kubernetes endast tillgängligt för AKS Edge Essentials K3s version 1.30.6 eller senare distributioner med en enkel kontrollplansnod och Arc-anslutning. Den är inte kompatibel med andra Arc-aktiverade Kubernetes-distributioner.

Innan du börjar

Kontrollera att du har följande förutsättningar innan du börjar:

  • Ett AKS Edge Essentials K3s-kluster med Arc-anslutning. Om du planerar att använda Azure IoT Operations med AKS Edge Essentials följer du den här snabbstartsguiden för att skapa klustret.

  • För att aktivera TLS för intraclusterloggkommunikation krävs verktygen cert-manager och trust-manager.

    • Om du planerar att använda Azure IoT Operationsdistribuerar du det innan du installerar Key Manager för Kubernetes-tillägget eftersom Azure IoT Operations installerar en egen kopia av dessa program som standard.

    • Kontrollera om cert-manager och trust-manager är installerade genom att köra följande kommando::

      kubectl get pods -n cert-manager
      

      Om de är installerade kan du se att deras pods är igång.

    • Om cert-manager och trust-manager inte finns med följer du dokumentationen för att:

      1. Installera cert-manager.

      2. Installera trust-manager. När du installerar förtroendehanteraren, ställ in trust namespace till cert-manager. Till exempel:

        helm upgrade trust-manager jetstack/trust-manager --install --namespace cert-manager --set app.trust.namespace=cert-manager --wait
        

        trust-manager används för att distribuera ett förtroendepaket till komponenter.

  • Key Manager-tillägget fungerar bara med avgränsade tjänstkontotoken. Det stöder inte äldre tokens med oändlig livslängd. Om arbetsflödet förlitar sig på äldre token ska du inte installera det här tillägget.

  • Begränsade tjänstkontotoken har en standardlivslängd på ett år. Om du vill rotera dessa token bör den här livslängden minskas till en dag, vilket säkerställer att token snabbt återutfärdas och signeras med nyligen roterade nycklar. Om du vill implementera dessa ändringar måste du ändra api-server konfigurationen genom att köra följande kommandon:

    $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/refs/heads/main/tools/scripts/AksEdgeKeyManagerExtension/UpdateK3sConfigForKeyManager.ps1"
    Invoke-WebRequest -Uri $url -OutFile .\UpdateK3sConfigForKeyManager.ps1
    Unblock-File .\UpdateK3sConfigForKeyManager.ps1
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
    
    .\UpdateK3sConfigForKeyManager.ps1
    

Installera Kubernetes-tillägget Key Manager för tjänstekontots nyckelrotation

Viktig

När du har installerat Key Manager-tillägget uppdateras api-server med den nya tjänstkontotoken under tokenrotationen. Den här processen gör api-servern kort otillgänglig när den startas om.

Kör nu följande kommandon. Ersätt variablerna med ditt specifika resursgruppsnamn och AKS-klusternamn:

New-AzKubernetesExtension -SubscriptionId $yoursubscriptionID -ResourceGroupName $resource_group_name -ClusterName $aks_cluster_name -ClusterType connectedClusters -Name "MySAkeymanager" -ExtensionType microsoft.arc.kuberneteskeymanager

När du har installerat tillägget kan du visa MySAkeymanager-tillägget i Azure-portalen under avsnittet Inställningar/tillägg i kubernetes-klustret.

Ta bort nyckelhanteraren för Kubernetes-tillägget

Du kan avinstallera tillägget Key Manager med kommandot az k8s-extension delete.

Remove-AzKubernetesExtension -ResourceGroupName $resource_group_name -ClusterName $aks_cluster_name -ClusterType connectedClusters -Name "MySAkeymanager"

Arbeta med Azure IoT Operations

Om du har installerat Key Manager för Kubernetes-tillägget innan du distribuerade Azure IoT Operations måste du följa anvisningarna Bring your own issuer, eftersom Azure IoT Operations installerar cert-manager och trust-manager som standard.

Nästa steg