Felsöka felkoden ServicePrincipalValidationClientError
Den här artikeln beskriver hur du identifierar och löser det ServicePrincipalValidationClientError
fel som kan uppstå om du försöker skapa och distribuera ett Microsoft Azure Kubernetes Service-kluster (AKS).
Förutsättningar
-
Azure CLI version 2.0.59 eller senare. Om Azure CLI redan är installerat kan du hitta versionsnumret genom att köra
az --version
.
Symptom
När du försöker distribuera ett AKS-kluster får du följande felmeddelande:
adal: Uppdateringsbegäran misslyckades. Statuskod = '401'.
Svarstext: {
"error": "invalid_client",
"error_description": "AADSTS7000215: Ogiltig klienthemlighet har angetts. Kontrollera att hemligheten som skickas i begäran är klientens hemliga värde, inte klienthemlighets-ID:t, för en hemlighet som läggs till i appen "123456789-1234-1234-1234567890987".\r\n
Spårnings-ID: 12345\r\n
Korrelations-ID: 6789\r\n
Tidsstämpel: 2022-02-03 03:07:11Z",
"error_codes": [7000215],
"tidsstämpel": "2022-02-03 03:07:11Z",
"trace_id": "12345",
"correlation_id": "6789",
"error_uri": "https://login.microsoftonline.com/error?code=7000215"
} Slutpunkt https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Orsak
Hemligheten som tillhandahålls för det markerade tjänstens huvudnamn är inte giltig.
Lösning 1: Återställa hemligheten för tjänstens huvudnamn
Återställ hemligheten som används för tjänstens huvudnamn genom att köra kommandot az ad sp credential reset :
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv
Det här kommandot återställer hemligheten och visar den som utdata. Sedan kan du ange den nya hemligheten när du försöker skapa det nya klustret igen.
Lösning 2: Skapa ett nytt huvudnamn för tjänsten
Du kan skapa ett nytt huvudnamn för tjänsten och hämta hemligheten som är associerad med den genom att köra kommandot az ad sp create-for-rbac :
az ad sp create-for-rbac --role Contributor
Kommandots utdata bör likna följande JSON-sträng:
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Observera värdena appId
och password
som genereras. När du har hämtat dessa värden kan du köra kommandot skapa kluster igen för det nya tjänstens huvudnamn och hemlighet.
Mer information
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.