Problemen met de foutcode ServicePrincipalValidationClientError oplossen
In dit artikel wordt beschreven hoe u de ServicePrincipalValidationClientError
fout kunt identificeren en oplossen die kunnen optreden als u probeert een AKS-cluster (Microsoft Azure Kubernetes Service) te maken en te implementeren.
Voorwaarden
- Azure CLI, versie 2.0.59 of een nieuwere versie. Als Azure CLI al is geïnstalleerd, kunt u het versienummer vinden door uit te voeren
az --version
.
Symptomen
Wanneer u probeert een AKS-cluster te implementeren, wordt het volgende foutbericht weergegeven:
adal: vernieuwingsaanvraag is mislukt. Statuscode = '401'.
Hoofdtekst van antwoord: {
"error": "invalid_client",
"error_description": "AADSTS7000215: Ongeldig clientgeheim opgegeven. Zorg ervoor dat het geheim dat wordt verzonden in de aanvraag de waarde van het clientgeheim is, niet de clientgeheim-id, voor een geheim dat is toegevoegd aan de app '123456789-1234-1234567890987'.\r\n
Tracerings-id: 12345\r\n
Correlatie-id: 6789\r\n
Tijdstempel: 2022-02-03 03:07:11Z",
"error_codes": [7000215],
"tijdstempel": "2022-02-03 03:07:11Z",
"trace_id": "12345",
"correlation_id": "6789",
"error_uri": "https://login.microsoftonline.com/error?code=7000215"
} Eindpunt https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Oorzaak
Het geheim dat is opgegeven voor de gemarkeerde service-principal, is niet geldig.
Oplossing 1: Het geheim van de service-principal opnieuw instellen
U kunt dit probleem oplossen door het geheim van de service-principal opnieuw in te stellen met behulp van een van de volgende methoden:
Stel de referenties van de service-principal opnieuw in door de opdracht az ad sp credential reset uit te voeren:
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv
Geef de vervaldatum op door de volgende opdracht uit te voeren:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
Met de voorgaande opdracht wordt het geheim opnieuw ingesteld en weergegeven als uitvoer. Vervolgens kunt u het nieuwe geheim opgeven wanneer u het nieuwe cluster opnieuw probeert te maken.
Voor mislukte bewerkingen in een bestaand cluster moet u ervoor zorgen dat u uw AKS-cluster bijwerkt met het nieuwe geheim:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Oplossing 2: Een nieuwe service-principal maken
U kunt een nieuwe service-principal maken en het geheim ophalen dat eraan is gekoppeld door de opdracht az ad sp create-for-rbac uit te voeren:
az ad sp create-for-rbac --role Contributor
De uitvoer van de opdracht moet lijken op de volgende JSON-tekenreeks:
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Noteer de appId
waarden en password
waarden die worden gegenereerd. Nadat u deze waarden hebt opgehaald, kunt u de opdracht voor het maken van het cluster opnieuw uitvoeren voor de nieuwe service-principal en het nieuwe geheim.
Voer de volgende opdracht uit om uw AKS-cluster bij te werken met de referenties van de nieuwe service-principal:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Meer informatie
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.