Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet article explique comment identifier et résoudre l’erreur ServicePrincipalValidationClientError qui peut se produire si vous essayez de créer et de déployer un cluster Microsoft Azure Kubernetes Service (AKS).
Conditions préalables
-
Azure CLI, version 2.0.59 ou ultérieure. Si Azure CLI est déjà installé, vous pouvez trouver le numéro de version en exécutant
az --version.
Symptômes
Lorsque vous essayez de déployer un cluster AKS, vous recevez le message d’erreur suivant :
adal : Échec de la demande d’actualisation. Code d’état = '401'.
Corps de la réponse : {
« error » : « invalid_client »,
« error_description » : « AADSTS7000215 : clé secrète client non valide fournie. Vérifiez que le secret envoyé dans la requête est la valeur de la clé secrète client, et non l’ID de secret client, pour un secret ajouté à l’application « 123456789-1234-1234-1234567890987 ».\r\n
ID de trace : 12345\r\n
ID de corrélation : 6789\r\n
Horodatage : 2022-02-03 03:07:11Z",
« error_codes » : [7000215],
« timestamp » : « 2022-02-03 03:07:11Z »,
« trace_id » : « 12345 »,
« correlation_id » : « 6789 »,
« error_uri » : « https://login.microsoftonline.com/error?code=7000215 »
} Point de terminaison https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
La cause
Le secret fourni pour le principal de service sélectionné n’est pas valide.
Solution 1 : Réinitialiser le secret du principal de service
Pour résoudre ce problème, réinitialisez le secret du principal de service à l’aide de l’une des méthodes suivantes :
Réinitialisez les informations d’identification du principal de service en exécutant la commande az ad sp credential reset :
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsvSpécifiez la date d’expiration en exécutant la commande suivante :
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
La commande précédente réinitialise le secret et l'affiche en sortie. Ensuite, vous pouvez spécifier le nouveau secret lorsque vous essayez de recréer le cluster.
Pour les opérations ayant échoué dans un cluster existant, veillez à mettre à jour votre cluster AKS avec le nouveau secret :
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Solution 2 : Créer un principal de service
Vous pouvez créer un principal de service et obtenir le secret associé à celui-ci en exécutant la commande az ad sp create-for-rbac :
az ad sp create-for-rbac --role Contributor
La sortie de la commande doit ressembler à la chaîne JSON suivante :
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Notez les valeurs et appId les password valeurs générées. Après avoir obtenu ces valeurs, vous pouvez réexécuter la commande de création du cluster pour le nouveau principal de service et le secret.
Pour mettre à jour votre cluster AKS avec les informations d’identification du nouveau principal de service, exécutez la commande suivante :
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Plus d’informations
Contactez-nous pour obtenir de l’aide
Si vous avez des questions, vous pouvez demander le support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.