Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule omówiono sposób identyfikowania i rozwiązywania błędu ServicePrincipalValidationClientError , który może wystąpić, jeśli spróbujesz utworzyć i wdrożyć klaster 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.
Objawy
Podczas próby wdrożenia klastra usługi AKS zostanie wyświetlony 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 tajny klucz klienta. Upewnij się, że tajny klucz wysyłany w żądaniu jest wartością tajnego klucza klienta, a nie identyfikatorem tajnego klucza klienta, dodanego do aplikacji „123456789-1234-1234-1234-1234567890987”.\r\n
Identyfikator śledzenia: 12345\r\n
Identyfikator korelacji: 6789\r\n
Sygnatura czasowa: 2022-02-03 03:07:11Z",
"kody_błędów": [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 tajnego hasła zasobu usługi
Aby rozwiązać ten problem, zresetuj klucz tajny jednostki usługi przy użyciu jednej z następujących metod:
Zresetuj poświadczenie głównej 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 tsvOkreśl datę wygaśnięcia, uruchamiając następujące polecenie:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
Poprzednie polecenie resetuje tajemnicę i wyświetla ją na ekranie. Następnie można określić nowy tajny klucz przy ponownym tworzeniu klastra.
W przypadku operacji, które zakończyły się niepowodzeniem w istniejącym klastrze, upewnij się, że klaster usługi AKS został zaktualizowany przy użyciu nowego wpisu tajnego:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Rozwiązanie 2. Tworzenie nowej jednostki usługi
Możesz utworzyć nową główną 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 wartości appId i password, które są wygenerowane. Po otrzymaniu tych wartości możesz ponownie uruchomić polecenie tworzenia klastra dla nowej głównej jednostki usługi i sekretu.
Aby zaktualizować klaster usługi AKS przy użyciu poświadczeń nowej jednostki usługi, uruchom następujące polecenie:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Więcej informacji
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania, możesz zadać pomoc techniczną społeczności platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.