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.
Azure Kubernetes Service