Udostępnij za pośrednictwem


Rozwiązywanie problemów z kodem błędu ServicePrincipalValidationClientError

W tym artykule omówiono sposób identyfikowania i rozwiązywania błęduServicePrincipalValidationClientError, który może wystąpić podczas próby utworzenia i wdrożenia klastra usługi Microsoft Azure Kubernetes Service (AKS).

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej. Jeśli interfejs wiersza polecenia platformy Azure jest już zainstalowany, możesz znaleźć numer wersji, uruchamiając polecenie az --version.

Symptomy

Podczas próby wdrożenia klastra usługi AKS jest wyświetlany następujący komunikat o błędzie:

adal: żądanie odświeżania nie powiodło się. Kod stanu = "401".

Treść odpowiedzi: {

"error": "invalid_client",

"error_description": "AADSTS7000215: podano nieprawidłowy klucz tajny klienta. Upewnij się, że wpis tajny wysyłany w żądaniu jest wartością wpisu tajnego klienta, a nie identyfikatorem wpisu tajnego klienta dla wpisu tajnego dodanego do aplikacji "123456789-1234-1234-1234567890987".\r\n

Identyfikator śledzenia: 12345\r\n

Identyfikator korelacji: 6789\r\n

Sygnatura czasowa: 2022-02-03 03:07:11Z",

"error_codes": [7000215],

"sygnatura czasowa": "2022-02-03 03:07:11Z",

"trace_id": "12345",

"correlation_id": "6789",

"error_uri": "https://login.microsoftonline.com/error?code=7000215"

} Punkt końcowy https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0

Przyczyna

Wpis tajny podany dla wyróżnionej jednostki usługi jest nieprawidłowy.

Rozwiązanie 1. Resetowanie wpisu tajnego jednostki usługi

Zresetuj wpis tajny używany dla jednostki usługi, uruchamiając polecenie az ad sp credential reset :

az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv

To polecenie resetuje wpis tajny i wyświetla go jako dane wyjściowe. Następnie można określić nowy wpis tajny podczas ponownej próby utworzenia nowego klastra.

Rozwiązanie 2. Tworzenie nowej jednostki usługi

Możesz utworzyć nową jednostkę usługi i uzyskać skojarzony z nią wpis tajny, uruchamiając polecenie az ad sp create-for-rbac :

az ad sp create-for-rbac --role Contributor

Dane wyjściowe polecenia powinny przypominać następujący ciąg JSON:

{
  "appId": "12345678-9abc-def0-1234-56789abcdef0",
  "name": "23456789-abcd-ef01-2345-6789abcdef01",
  "password": "3456789a-bcde-f012-3456-789abcdef012",
  "tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}

Zanotuj appId wygenerowane wartości i password . Po uzyskaniu tych wartości można ponownie uruchomić polecenie tworzenia klastra dla nowej jednostki usługi i wpisu tajnego.

Więcej informacji

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.