Solucionar problemas do código de erro ServicePrincipalValidationClientError
Este artigo discute como identificar e resolver o ServicePrincipalValidationClientError
erro que pode ocorrer se você tentar criar e implantar um cluster do AKS (Serviço de Kubernetes do Microsoft Azure).
Pré-requisitos
- CLIC do Azure, versão 2.0.59 ou posterior. Se a CLI do Azure já estiver instalada, você poderá encontrar o número da versão executando
az --version
.
Sintomas
Ao tentar implantar um cluster do AKS, você recebe a seguinte mensagem de erro:
adal: Falha na solicitação de atualização. Código de status = '401'.
Corpo da resposta: {
"erro": "invalid_client",
"error_description": "AADSTS7000215: Segredo do cliente inválido fornecido. Verifique se o segredo que está sendo enviado na solicitação é o valor do segredo do cliente, não a ID do segredo do cliente, para um segredo adicionado ao aplicativo '123456789-1234-1234-1234567890987'.\r\n
ID do rastreamento: 12345\r\n
ID da correlação: 6789\r\n
Carimbo de data/hora: 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"
} Ponto final https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Motivo
O segredo fornecido para a entidade de serviço realçada não é válido.
Solução 1: redefinir o segredo da entidade de serviço
Para resolver esse problema, redefina o segredo da entidade de serviço usando um dos seguintes métodos:
Redefina a credencial da entidade de serviço executando o comando az ad sp credential reset :
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv
Especifique a data de expiração executando o seguinte comando:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
O comando anterior redefine o segredo e o exibe como saída. Em seguida, você pode especificar o novo segredo ao tentar criar o novo cluster novamente.
Para operações com falha em um cluster existente, certifique-se de atualizar o cluster do AKS com o novo segredo:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Solução 2: Criar uma nova entidade de serviço
Você pode criar uma nova entidade de serviço e obter o segredo associado a ela executando o comando az ad sp create-for-rbac :
az ad sp create-for-rbac --role Contributor
A saída do comando deve ser semelhante à seguinte cadeia de caracteres 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"
}
Observe os appId
valores e password
que são gerados. Depois de obter esses valores, você pode executar novamente o comando de criação de cluster para a nova entidade de serviço e segredo.
Para atualizar o cluster do AKS com a nova credencial da entidade de serviço, execute o seguinte comando:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Mais informações
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.