Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come identificare e risolvere l'errore ServicePrincipalValidationClientError
che può verificarsi se si tenta di creare e implementare un cluster di Microsoft Azure Kubernetes Service (AKS).
-
Interfaccia della riga di comando di Azure, versione 2.0.59 o successiva. Se l'interfaccia della riga di comando di Azure è già installata, è possibile trovare il numero di versione eseguendo
az --version
.
Quando si tenta di distribuire un cluster del servizio Azure Kubernetes, viene visualizzato il messaggio di errore seguente:
adal: richiesta di aggiornamento non riuscita. Codice di stato = '401'.
Corpo della risposta: {
"error": "invalid_client",
"error_description": "AADSTS7000215: segreto client non valido fornito. Assicurarsi che il segreto inviato nella richiesta sia il valore del segreto client, non l'ID segreto client, per un segreto aggiunto all'app '123456789-1234-1234-1234-1234-1234567890987'.\r\n
ID traccia: 12345\r\n
ID correlazione: 6789\r\n
Timestamp: 2022-02-03 03:07:11Z",
"codici_errore": [7000215],
"timestamp": "2022-02-03 03:07:11Z",
"trace_id": "12345",
"correlation_id": "6789",
"error_uri": "https://login.microsoftonline.com/error?code=7000215"
} Punto finale https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Il segreto fornito per l'entità servizio evidenziata non è valido.
Per risolvere questo problema, reimpostare il segreto del principale di servizio usando uno dei metodi seguenti:
Reimpostare le credenziali dell'entità servizio eseguendo il comando az ad sp credential reset :
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv
Specificare la data di scadenza eseguendo il comando seguente:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
Il comando precedente reimposta il segreto e lo visualizza come output. È quindi possibile specificare il nuovo segreto quando si tenta di creare di nuovo il nuovo cluster.
Per le operazioni non riuscite in un cluster esistente, assicurati di aggiornare il cluster AKS con il nuovo secret.
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
È possibile creare una nuova entità servizio e ottenere il segreto associato eseguendo il comando az ad sp create-for-rbac :
az ad sp create-for-rbac --role Contributor
L'output del comando dovrebbe essere simile alla stringa JSON seguente:
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Si notino i appId
valori e password
generati. Dopo aver visualizzato questi valori, è possibile eseguire di nuovo il comando di creazione del cluster per la nuova entità servizio e il segreto.
Per aggiornare il cluster del servizio Azure Kubernetes (AKS) con le credenziali della nuova entità servizio, eseguire il comando seguente:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.