Uppdatera eller rotera autentiseringsuppgifterna för ett AKS-kluster (Azure Kubernetes Service)

AKS-kluster som skapats med tjänstens huvudnamn har ett års förfallotid. När du närmar dig förfallodatumet kan du återställa autentiseringsuppgifterna för att utöka tjänstens huvudnamn under ytterligare en tidsperiod. Du kanske också vill uppdatera eller rotera autentiseringsuppgifterna som en del av en definierad säkerhetsprincip. AKS-kluster som är integrerade med Microsoft Entra-ID som autentiseringsprovider har ytterligare två identiteter: Microsoft Entra Server-appen och Microsoft Entra-klientappen. Den här artikeln beskriver hur du uppdaterar tjänstens huvudnamn och Microsoft Entra-autentiseringsuppgifter för ett AKS-kluster.

Kommentar

Du kan också använda en hanterad identitet för behörigheter i stället för tjänstens huvudnamn. Hanterade identiteter kräver inte uppdateringar eller rotationer. Mer information finns i Använda hanterade identiteter.

Innan du börjar

Du behöver Azure CLI version 2.0.65 eller senare installerad och konfigurerad. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Uppdatera eller skapa ett nytt huvudnamn för tjänsten för ditt AKS-kluster

När du vill uppdatera autentiseringsuppgifterna för ett AKS-kluster kan du välja att antingen:

  • Uppdatera autentiseringsuppgifterna för det befintliga tjänstens huvudnamn.
  • Skapa ett nytt huvudnamn för tjänsten och uppdatera klustret för att använda dessa nya autentiseringsuppgifter.

Varning

Om du väljer att skapa ett nytt huvudnamn för tjänsten väntar du cirka 30 minuter på att tjänstens huvudnamn ska spridas över alla regioner. Det kan ta lång tid att uppdatera ett stort AKS-kluster för att använda dessa autentiseringsuppgifter.

Kontrollera utgångsdatumet för tjänstens huvudnamn

Om du vill kontrollera förfallodatumet för tjänstens huvudnamn använder du az ad app credential list kommandot . I följande exempel hämtas tjänstens huvudnamns-ID för $CLUSTER_NAME klustret i $RESOURCE_GROUP_NAME resursgruppen med kommandot az aks show . Tjänstens huvudnamns-ID anges som en variabel med namnet SP_ID.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Återställa de befintliga autentiseringsuppgifterna för tjänstens huvudnamn

Om du vill uppdatera autentiseringsuppgifterna för ett befintligt huvudnamn för tjänsten hämtar du tjänstens huvudnamns-ID för klustret med kommandot az aks show . I följande exempel hämtas ID:t för $CLUSTER_NAME klustret i $RESOURCE_GROUP_NAME resursgruppen. Variabeln med namnet SP_ID lagrar tjänstens huvudnamns-ID som används i nästa steg. Dessa kommandon använder Bash-kommandospråket.

Varning

När du återställer autentiseringsuppgifterna för klustret i ett AKS-kluster som använder Skalningsuppsättningar för virtuella Azure-datorer utförs en uppgradering av nodavbildningen för att uppdatera noderna med den nya informationen om autentiseringsuppgifter.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)

Använd variabeln SP_ID som innehåller tjänstens huvudnamns-ID för att återställa autentiseringsuppgifterna az ad app credential reset med kommandot . I följande exempel kan Azure-plattformen generera en ny säker hemlighet för tjänstens huvudnamn och lagra den som en variabel med namnet SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

Därefter uppdaterar du AKS-klustret med autentiseringsuppgifter för tjänstens huvudnamn. Det här steget är nödvändigt för att uppdatera tjänstens huvudnamn i ditt AKS-kluster.

Skapa ett nytt huvudkonto för tjänsten

Kommentar

Om du har uppdaterat de befintliga autentiseringsuppgifterna för tjänstens huvudnamn i föregående avsnitt hoppar du över det här avsnittet och uppdaterar i stället AKS-klustret med autentiseringsuppgifter för tjänstens huvudnamn.

Använd kommandot för att skapa ett huvudnamn för tjänsten och uppdatera AKS-klustret så att det använder de nya autentiseringsuppgifterna az ad sp create-for-rbac .

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/$SUBSCRIPTION_ID

Utdata liknar följande exempelutdata. Anteckna dina egna appId och password använd i nästa steg.

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Definiera variabler för tjänstens huvudnamns-ID och klienthemlighet med dina utdata från att az ad sp create-for-rbac köra kommandot. SP_ID är appId och SP_SECRET är ditt lösenord.

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Därefter uppdaterar du AKS-klustret med den nya autentiseringsuppgiften för tjänstens huvudnamn. Det här steget är nödvändigt för att uppdatera AKS-klustret med den nya autentiseringsuppgiften för tjänstens huvudnamn.

Uppdatera AKS-kluster med autentiseringsuppgifter för tjänstens huvudnamn

Viktigt!

Det kan ta lång tid att uppdatera AKS-klustret med ett nytt huvudnamn för tjänsten för stora kluster. Överväg att granska och anpassa uppgraderingsinställningarna för nodtoppar för att minimera störningar under uppdateringen. För små och medelstora kluster tar det flera minuter innan de nya autentiseringsuppgifterna uppdateras i klustret.

Uppdatera AKS-klustret med dina nya eller befintliga autentiseringsuppgifter genom att az aks update-credentials köra kommandot .

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

Uppdatera AKS-klustret med nya autentiseringsuppgifter för Microsoft Entra-programmet

Du kan skapa nya Microsoft Entra-server- och klientprogram genom att följa Microsoft Entra-integreringsstegen eller återställa dina befintliga Microsoft Entra-program enligt samma metod som för återställning av tjänstens huvudnamn. Därefter måste du uppdatera autentiseringsuppgifterna för klustrets Microsoft Entra-program med hjälp av az aks update-credentials kommandot med variablerna --reset-aad .

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-aad \
    --aad-server-app-id $SERVER_APPLICATION_ID \
    --aad-server-app-secret $SERVER_APPLICATION_SECRET \
    --aad-client-app-id $CLIENT_APPLICATION_ID

Nästa steg

I den här artikeln har du lärt dig hur du uppdaterar eller roterar tjänstens huvudnamn och autentiseringsuppgifter för Microsoft Entra-programmet. Mer information om hur du använder en hanterad identitet för arbetsbelastningar i ett AKS-kluster finns i Metodtips för autentisering och auktorisering i AKS.