Aktualisieren oder Rotieren der Anmeldeinformationen für einen Azure Kubernetes Service-Cluster (AKS)
AKS-Cluster, die mit einem Dienstprinzipal erstellt wurden, haben eine Ablaufzeit von einem Jahr. Wenn Sie sich dem Ablaufdatum nähern, können Sie die Anmeldeinformationen zurücksetzen, um den Dienstprinzipal um einen zusätzlichen Zeitraum zu verlängern. Sie können die Anmeldeinformationen auch im Rahmen einer definierten Sicherheitsrichtlinie aktualisieren oder rotieren. AKS-Cluster, die als Authentifizierungsanbieter in Microsoft Entra ID integriert sind, verfügen über zwei weitere Identitäten: die Microsoft Entra-Server-App und die Microsoft Entra-Client-App. In diesem Artikel erfahren Sie, wie Sie den Dienstprinzipal und die Microsoft Entra-Anmeldeinformationen für einen AKS-Cluster aktualisieren.
Hinweis
Sie können anstelle eines Dienstprinzipals auch eine verwaltete Identität für Berechtigungen verwenden. Verwaltete Identitäten erfordern keine Updates oder Rotationen. Weitere Informationen finden Sie unter Verwenden verwalteter Identitäten.
Voraussetzungen
Azure CLI-Version 2.0.65 oder höher muss installiert und konfiguriert sein. Führen Sie az --version
aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.
Aktualisieren oder Erstellen eines neuen Dienstprinzipals für Ihren AKS-Cluster
Wenn Sie die Anmeldeinformationen für einen AKS-Cluster aktualisieren möchten, haben Sie folgende Möglichkeiten:
- Aktualisieren der Anmeldeinformationen für den vorhandenen Dienstprinzipal.
- Erstellen eines neuen Dienstprinzipals und Aktualisieren des Clusters zur Verwendung der neuen Anmeldeinformationen.
Warnung
Wenn Sie einen neuen Dienstprinzipal erstellen möchten, warten Sie etwa 30 Minuten, bis die Dienstprinzipalberechtigung in alle Regionen weitergegeben wurde. Die Aktualisierung eines großen AKS-Clusters für die Verwendung dieser Anmeldeinformationen kann sehr viel Zeit in Anspruch nehmen.
Überprüfen des Ablaufdatums Ihres Dienstprinzipals
Um das Ablaufdatum Ihres Dienstprinzipals zu überprüfen, verwenden Sie den Befehl az ad app credential list
. Das folgende Beispiel ruft die Dienstprinzipal-ID für den $CLUSTER_NAME
Cluster in der $RESOURCE_GROUP_NAME
Ressourcengruppe mithilfe des az aks show
Befehls ab. Die Dienstprinzipal-ID wird als Variable mit dem Namen SP_ID festgelegt.
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
Zurücksetzen der vorhandenen Dienstprinzipal-Anmeldeinformationen
Um die Anmeldeinformationen für einen vorhandenen Dienstprinzipal zu aktualisieren, rufen Sie über den Befehl az aks show
die Dienstprinzipal-ID für Ihren Cluster ab. Das folgende Beispiel ruft die ID für den $CLUSTER_NAME
Cluster in der $RESOURCE_GROUP_NAME
Ressourcengruppe ab. In der Variablen SP_ID ist die Dienstprinzipal-ID gespeichert, die im nächsten Schritt verwendet wird. Diese Befehle verwenden die Bash-Befehlssprache.
Warnung
Wenn Sie Ihre Clusteranmeldeinformationen auf einem AKS-Cluster zurücksetzen, der Azure Virtual Machine Scale Sets verwendet, wird ein Knotenimageupgrade durchgeführt, um Ihre Knoten mit den neuen Anmeldeinformationen zu aktualisieren.
SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
--query servicePrincipalProfile.clientId -o tsv)
Verwenden Sie die Variable SP_ID, die die Dienstprinzipal-ID enthält, um die Anmeldeinformationen mithilfe des Befehls az ad app credential reset
zurückzusetzen. Im folgenden Beispiel kann die Azure-Plattform ein neues sicheres Geheimnis für den Dienstprinzipal generieren und als Variable namens SP_SECRET speichern.
SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)
Als Nächstes aktualisieren Sie den AKS-Cluster mit Dienstprinzipal-Anmeldeinformationen. Dieser Schritt ist erforderlich, um den Dienstprinzipal in Ihrem AKS-Cluster zu aktualisieren.
Erstellen eines neuen Dienstprinzipals
Hinweis
Wenn Sie die vorhandenen Anmeldeinformationen für den Dienstprinzipal im vorherigen Abschnitt aktualisiert haben, überspringen Sie diesen Abschnitt, und aktualisieren Sie stattdessen den AKS-Cluster mit Dienstprinzipal-Anmeldeinformationen.
Verwenden Sie den Befehl az ad sp create-for-rbac
, um einen Dienstprinzipal zu erstellen und den AKS-Cluster für die Verwendung der neuen Anmeldeinformationen zu aktualisieren.
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/$SUBSCRIPTION_ID
Die Ausgabe sieht in etwa wie das folgende Beispiel aus. Notieren Sie sich die eigene appId
und das password
, die im nächsten Schritt verwendet werden.
{
"appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Definieren Sie Variablen für die Dienstprinzipal-ID und den geheimen Clientschlüssel, indem Sie die Ausgabe der Ausführung des Befehls az ad sp create-for-rbac
verwenden. Der Wert SP_ID steht für die App-ID, der Wert SP_SECRET gibt Ihr Kennwort an.
SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Als Nächstes aktualisieren Sie den AKS-Cluster mit den neuen Dienstprinzipal-Anmeldeinformationen. Dieser Schritt ist erforderlich, um den AKS-Cluster mit den neuen Dienstprinzipal-Anmeldeinformationen zu aktualisieren.
Aktualisieren des AKS-Clusters mit Dienstprinzipal-Anmeldeinformationen
Wichtig
Bei großen Clustern kann die Aktualisierung Ihres AKS-Clusters mit einem neuen Dienstprinzipal viel Zeit in Anspruch nehmen. Erwägen Sie die Überprüfung und Anpassung der Upgradeeinstellungen für Knotenspitzen, um Unterbrechungen während des Updates zu minimieren. Bei kleinen und mittelgroßen Clustern dauert es einige Minuten, bis die neuen Anmeldeinformationen im Cluster aktualisiert sind.
Aktualisieren Sie den AKS-Cluster mit Ihren neuen oder vorhandenen Anmeldeinformationen, indem Sie den Befehl az aks update-credentials
ausführen.
az aks update-credentials \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--reset-service-principal \
--service-principal "$SP_ID" \
--client-secret "${SP_SECRET}"
Aktualisieren eines AKS-Clusters mit neuen Microsoft Entra-Anwendungsanmeldeinformationen
Sie können neue Microsoft Entra-Serveranwendungen und -Clientanwendungen erstellen, indem Sie die Schritte zur Microsoft Entra-Integration ausführen oder Ihre vorhandenen Microsoft Entra-Anwendungen mit der gleichen Methode wie beim Zurücksetzen des Dienstprinzipals zurücksetzen. Danach müssen Sie die Microsoft Entra-Anwendungsanmeldeinformationen für Ihren Cluster mit dem Befehl az aks update-credentials
und den –reset-aad-Variablen aktualisieren.
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ächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie Anmeldeinformationen für Dienstprinzipale und Microsoft Entra-Anwendungen aktualisieren oder rotieren. Weitere Informationen zum Verwenden einer verwalteten Identität für Workloads in einem AKS-Cluster finden Sie unter Bewährte Methode für die Authentifizierung und Autorisierung in Azure Kubernetes Service (AKS).
Azure Kubernetes Service