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.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla