Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie den Fehler identifizieren und beheben, der ServicePrincipalValidationClientError auftreten kann, wenn Sie versuchen, einen Microsoft Azure Kubernetes Service (AKS)-Cluster zu erstellen und bereitzustellen.
Voraussetzungen
-
Azure CLI, Version 2.0.59 oder höher. Wenn Azure CLI bereits installiert ist, können Sie die Versionsnummer herausfinden, indem Sie
az --versionausführen.
Symptome
Wenn Sie versuchen, einen AKS-Cluster bereitzustellen, wird die folgende Fehlermeldung angezeigt:
adal: Fehler bei der Aktualisierungsanforderung. Statuscode = '401'.
Antworttext: {
"error": "ungültiger_client"
"error_description": "AADSTS7000215: Ungültiges Client-Geheimnis angegeben. Stellen Sie sicher, dass das Geheimnis, das in der Anfrage gesendet wird, das Client-Geheimnis ist und nicht die Client-ID, für ein Geheimnis, das der App '123456789-1234-1234-1234-1234567890987' hinzugefügt wurde.\r\n
Trace-ID: 12345\r\n
Korrelations-ID: 6789\r\n
Zeitstempel: 2022-02-03 03:07:11Z",
"error_codes": [7000215],
"Timestamp": "2022-02-03 03:07:11Z",
"trace_id": "12345",
"correlation_id": "6789",
"error_uri": "https://login.microsoftonline.com/error?code=7000215"
} Endpunkt https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Ursache
Der geheime Schlüssel, der für den hervorgehobenen Dienstprinzipal bereitgestellt wird, ist ungültig.
Lösung 1: Zurücksetzen des geheimen Dienstprinzipalschlüssels
Um dieses Problem zu beheben, setzen Sie den geheimen Dienstprinzipalschlüssel mithilfe einer der folgenden Methoden zurück:
Setzen Sie die Anmeldeinformationen des Dienstprinzipals zurück, indem Sie den Befehl az ad sp credential reset ausführen.
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsvGeben Sie das Ablaufdatum an, indem Sie den folgenden Befehl ausführen:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
Der vorherige Befehl setzt den geheimen Schlüssel zurück und zeigt ihn als Ausgabe an. Anschließend können Sie den neuen geheimen Schlüssel angeben, wenn Sie versuchen, den neuen Cluster erneut zu erstellen.
Stellen Sie bei fehlgeschlagenen Vorgängen in einem vorhandenen Cluster sicher, dass Sie Ihren AKS-Cluster mit dem neuen geheimen Schlüssel aktualisieren:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Lösung 2: Erstellen eines neuen Dienstprinzipals
Sie können einen neuen Dienstprinzipal erstellen und den geheimen Schlüssel abrufen, der diesem zugeordnet ist, indem Sie den Befehl az ad sp create-for-rbac ausführen:
az ad sp create-for-rbac --role Contributor
Die Ausgabe des Befehls sollte der folgenden JSON-Zeichenfolge ähneln:
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Beachten Sie die appId und password generierten Werte. Nachdem Sie diese Werte abgerufen haben, können Sie den Clustererstellungsbefehl für den neuen Dienstprinzipal und den geheimen Schlüssel erneut ausführen.
Führen Sie den folgenden Befehl aus, um Ihren AKS-Cluster mit den Zugangsdaten des neuen Dienstprinzipals zu aktualisieren.
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Mehr Informationen
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben, können Sie den Azure-Communitysupport stellen. Sie können auch Produktfeedback an die Azure Feedback Community senden.