Dela via


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.