Compartilhar via


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.